/** * Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT * All rights reserved. Use is subject to license terms. See LICENSE.TXT */ package org.diirt.datasource.timecache; import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; import org.diirt.datasource.timecache.source.DataSource; import org.diirt.datasource.timecache.util.CacheHelper; import org.diirt.util.time.TimeInterval; /** * Statistics of {@link DataRequestThread} * @author Fred Arnaud (Sopra Group) - ITER */ public class DataRequestStatistics { private final DataSource source; private final Instant start; private TimeInterval interval; private Duration duration; public DataRequestStatistics(final DataSource source) { this.start = Instant.now(); this.source = source; } public void intervalCompleted() { this.duration = Duration.between(start, Instant.now()).abs(); } public Instant getStart() { return start; } public Duration getDuration() { return duration; } public DataSource getSource() { return source; } public TimeInterval getInterval() { return interval; } public void setInterval(TimeInterval interval) { this.interval = interval; } public String toConsoleString() { return CacheHelper.format(start) + " => " + CacheHelper.format(interval) + ": " + duration; } }