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 FrequencyCounterwhen - 发生的时刻times - 次数public Map<Long,AtomicLong> getCounts()
public long getCount(long when)
getCount in class FrequencyCounterwhen - 时刻public long getCount(long fromWhen,
long toWhen,
boolean fromInclusive,
boolean toInclusive)
getCount in class FrequencyCounterfromWhen - 开始时间toWhen - 结束时间fromInclusive - 是否包含开始时间toInclusive - 是否包含结束时间public void purge(long tillWhen)
purge in class FrequencyCountertillWhen - 清除到哪个时间点为止Copyright © 2014. All Rights Reserved.