public class BasicFrequencyCounter extends FrequencyCounter
Modifier and Type | Field and Description |
---|---|
protected PutIfAbsentMap<Long,AtomicLong> |
counters |
protected long |
granularity |
protected long |
purgeBefore |
protected Object |
recordLock |
Constructor and Description |
---|
BasicFrequencyCounter()
创建一个不对历史数据进行自动清除,且不针对时间颗粒度
(比如,对于一批短信,对不同长度短信各有多少条进行统计)的实例。
|
BasicFrequencyCounter(FrequencyCounterDefinition definition)
根据配置信息创建一个实例。
|
BasicFrequencyCounter(long granularity,
TimeUnit unit)
创建一个不对历史数据进行自动清除的实例。
|
BasicFrequencyCounter(long granularity,
TimeUnit unit,
long purgePeriod,
TimeUnit purgeUnit)
创建一个实例,如果purgePeriod参数不为0则会自动进行历史数据清除。
|
Modifier and Type | Method and Description |
---|---|
void |
count(long when,
int times)
记录在某时刻发生了多少次。
|
long |
getCount(long when)
获取在某时刻的计数值。
|
long |
getCount(long fromWhen,
long toWhen,
boolean fromInclusive,
boolean toInclusive)
获得在指定时间范围内的总频次
|
Map<Long,AtomicLong> |
getCounts()
获得全部计数统计
|
void |
purge(long tillWhen)
删除掉早于一定时间的记录
|
String |
toString()
转成String
|
protected PutIfAbsentMap<Long,AtomicLong> counters
protected long granularity
protected long purgeBefore
protected Object recordLock
public BasicFrequencyCounter(long granularity, TimeUnit unit, long purgePeriod, TimeUnit purgeUnit)
granularity
- 计数颗粒度unit
- 颗粒度的单位purgePeriod
- 历史数据的保留时间长度purgeUnit
- 历史数据保留时间长度的单位public BasicFrequencyCounter(long granularity, TimeUnit unit)
granularity
- 计数颗粒度unit
- 颗粒度的单位public BasicFrequencyCounter()
public BasicFrequencyCounter(FrequencyCounterDefinition definition)
definition
- 配置信息public void count(long when, int times)
count
in class FrequencyCounter
when
- 发生的时刻times
- 次数public Map<Long,AtomicLong> getCounts()
public long getCount(long when)
getCount
in class FrequencyCounter
when
- 时刻public long getCount(long fromWhen, long toWhen, boolean fromInclusive, boolean toInclusive)
getCount
in class FrequencyCounter
fromWhen
- 开始时间toWhen
- 结束时间fromInclusive
- 是否包含开始时间toInclusive
- 是否包含结束时间public void purge(long tillWhen)
purge
in class FrequencyCounter
tillWhen
- 清除到哪个时间点为止Copyright © 2014. All Rights Reserved.