Class LongTermStatsGenericImpl
- java.lang.Object
-
- com.biglybt.core.stats.transfer.impl.LongTermStatsGenericImpl
-
- All Implemented Interfaces:
LongTermStatsWrapper.LongTermStatsWrapperHelper
,LongTermStats
public class LongTermStatsGenericImpl extends java.lang.Object implements LongTermStatsWrapper.LongTermStatsWrapperHelper
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
LongTermStatsGenericImpl.DayCache
private class
LongTermStatsGenericImpl.MonthCache
-
Nested classes/interfaces inherited from interface com.biglybt.core.stats.transfer.LongTermStats
LongTermStats.GenericStatsSource, LongTermStats.RecordAccepter
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
active
private boolean
closing
private LongTermStatsGenericImpl.DayCache
day_cache
private static long
DAY_IN_MILLIS
private static java.text.SimpleDateFormat
debug_utc_format
private boolean
destroyed
private AsyncDispatcher
dispatcher
private TimerEventPeriodic
event
private java.lang.String
generic_id
private LongTermStats.GenericStatsSource
generic_source
private static long
HOUR_IN_MILLIS
private long[]
line_stats_prev
private CopyOnWriteList<java.lang.Object[]>
listeners
private static long
MIN_IN_MILLIS
private java.util.Map<java.lang.String,LongTermStatsGenericImpl.MonthCache>
month_cache_map
private static int
MONTH_CACHE_MAX
static int
RT_SESSION_END
static int
RT_SESSION_START
static int
RT_SESSION_STATS
private long
session_total
private long[]
ss
private long[]
st
private int
start_of_month
private int
start_of_week
private Average[]
stat_averages
private int
STAT_ENTRY_COUNT
private java.io.File
stats_dir
private static java.text.SimpleDateFormat
utc_date_format
private static int
VERSION
private static long
WEEK_IN_MILLIS
private java.io.PrintWriter
writer
private java.lang.String
writer_rel_file
-
Fields inherited from interface com.biglybt.core.stats.transfer.LongTermStats
PT_CURRENT_DAY, PT_CURRENT_HOUR, PT_CURRENT_MONTH, PT_CURRENT_WEEK, PT_NAMES, PT_SLIDING_DAY, PT_SLIDING_HOUR, PT_SLIDING_WEEK, ST_DATA_DOWNLOAD, ST_DATA_UPLOAD, ST_DHT_DOWNLOAD, ST_DHT_UPLOAD, ST_PROTOCOL_DOWNLOAD, ST_PROTOCOL_UPLOAD
-
-
Constructor Summary
Constructors Constructor Description LongTermStatsGenericImpl(java.lang.String id, LongTermStats.GenericStatsSource source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(long min_delta_bytes, LongTermStatsListener listener)
void
destroyAndDeleteData()
long[]
getCurrentRateBytesPerSecond()
private LongTermStatsGenericImpl.MonthCache
getMonthCache(java.lang.String year, java.lang.String month)
private static java.lang.String
getString(long[] stats)
long[]
getTotalUsageInPeriod(int period_type, double multiplier)
long[]
getTotalUsageInPeriod(int period_type, double multiplier, LongTermStats.RecordAccepter accepter)
long[]
getTotalUsageInPeriod(java.util.Date start_date, java.util.Date end_date)
long[]
getTotalUsageInPeriod(java.util.Date start_date, java.util.Date end_date, LongTermStats.RecordAccepter accepter)
boolean
isEnabled()
void
removeListener(LongTermStatsListener listener)
void
reset()
private void
sessionEnd()
private void
sessionStart()
private void
updateStats()
private void
updateStats(int record_type)
private void
write(int record_type, long[] line_stats)
-
-
-
Field Detail
-
VERSION
private static final int VERSION
- See Also:
- Constant Field Values
-
MIN_IN_MILLIS
private static final long MIN_IN_MILLIS
- See Also:
- Constant Field Values
-
HOUR_IN_MILLIS
private static final long HOUR_IN_MILLIS
- See Also:
- Constant Field Values
-
DAY_IN_MILLIS
private static final long DAY_IN_MILLIS
- See Also:
- Constant Field Values
-
WEEK_IN_MILLIS
private static final long WEEK_IN_MILLIS
- See Also:
- Constant Field Values
-
RT_SESSION_START
public static final int RT_SESSION_START
- See Also:
- Constant Field Values
-
RT_SESSION_STATS
public static final int RT_SESSION_STATS
- See Also:
- Constant Field Values
-
RT_SESSION_END
public static final int RT_SESSION_END
- See Also:
- Constant Field Values
-
STAT_ENTRY_COUNT
private final int STAT_ENTRY_COUNT
-
st
private final long[] st
-
ss
private final long[] ss
-
line_stats_prev
private final long[] line_stats_prev
-
stat_averages
private final Average[] stat_averages
-
active
private boolean active
-
closing
private boolean closing
-
event
private TimerEventPeriodic event
-
writer
private java.io.PrintWriter writer
-
writer_rel_file
private java.lang.String writer_rel_file
-
day_cache
private LongTermStatsGenericImpl.DayCache day_cache
-
MONTH_CACHE_MAX
private static final int MONTH_CACHE_MAX
- See Also:
- Constant Field Values
-
month_cache_map
private final java.util.Map<java.lang.String,LongTermStatsGenericImpl.MonthCache> month_cache_map
-
debug_utc_format
private static final java.text.SimpleDateFormat debug_utc_format
-
utc_date_format
private static final java.text.SimpleDateFormat utc_date_format
-
stats_dir
private java.io.File stats_dir
-
session_total
private long session_total
-
listeners
private final CopyOnWriteList<java.lang.Object[]> listeners
-
dispatcher
private final AsyncDispatcher dispatcher
-
start_of_week
private int start_of_week
-
start_of_month
private int start_of_month
-
destroyed
private volatile boolean destroyed
-
generic_id
private final java.lang.String generic_id
-
generic_source
private final LongTermStats.GenericStatsSource generic_source
-
-
Constructor Detail
-
LongTermStatsGenericImpl
public LongTermStatsGenericImpl(java.lang.String id, LongTermStats.GenericStatsSource source)
-
-
Method Detail
-
isEnabled
public boolean isEnabled()
- Specified by:
isEnabled
in interfaceLongTermStats
-
reset
public void reset()
- Specified by:
reset
in interfaceLongTermStats
-
destroyAndDeleteData
public void destroyAndDeleteData()
- Specified by:
destroyAndDeleteData
in interfaceLongTermStatsWrapper.LongTermStatsWrapperHelper
-
sessionStart
private void sessionStart()
-
sessionEnd
private void sessionEnd()
-
updateStats
private void updateStats()
-
updateStats
private void updateStats(int record_type)
-
write
private void write(int record_type, long[] line_stats)
-
getString
private static java.lang.String getString(long[] stats)
-
getMonthCache
private LongTermStatsGenericImpl.MonthCache getMonthCache(java.lang.String year, java.lang.String month)
-
getTotalUsageInPeriod
public long[] getTotalUsageInPeriod(java.util.Date start_date, java.util.Date end_date)
- Specified by:
getTotalUsageInPeriod
in interfaceLongTermStats
-
getTotalUsageInPeriod
public long[] getTotalUsageInPeriod(java.util.Date start_date, java.util.Date end_date, LongTermStats.RecordAccepter accepter)
-
getTotalUsageInPeriod
public long[] getTotalUsageInPeriod(int period_type, double multiplier)
- Specified by:
getTotalUsageInPeriod
in interfaceLongTermStats
-
getTotalUsageInPeriod
public long[] getTotalUsageInPeriod(int period_type, double multiplier, LongTermStats.RecordAccepter accepter)
- Specified by:
getTotalUsageInPeriod
in interfaceLongTermStats
-
getCurrentRateBytesPerSecond
public long[] getCurrentRateBytesPerSecond()
- Specified by:
getCurrentRateBytesPerSecond
in interfaceLongTermStats
-
addListener
public void addListener(long min_delta_bytes, LongTermStatsListener listener)
- Specified by:
addListener
in interfaceLongTermStats
-
removeListener
public void removeListener(LongTermStatsListener listener)
- Specified by:
removeListener
in interfaceLongTermStats
-
-