/** * Constructor accepting raw config values. * * @param intervalInSeconds sampling interval in seconds * @param historySize size of history sample * @param resetOnSample true to reset value on sample * @param initValue initial value * @param sampleNow true to record smaple immediately */ public SampledCounterImpl(long intervalInSeconds, int historySize, boolean resetOnSample, long initValue, boolean sampleNow) { super(initValue); this.intervalMillis = intervalInSeconds * MILLIS_PER_SEC; this.history = new CircularLossyQueue<TimeStampedCounterValue>(historySize); this.resetOnSample = resetOnSample; this.samplerTask = new TimerTask() { @Override public void run() { recordSample(); } }; if (sampleNow) { recordSample(); } }
/** * Constructor accepting raw config values. * * @param intervalInSeconds sampling interval in seconds * @param historySize size of history sample * @param resetOnSample true to reset value on sample * @param initValue initial value * @param sampleNow true to record smaple immediately */ public SampledCounterImpl(long intervalInSeconds, int historySize, boolean resetOnSample, long initValue, boolean sampleNow) { super(initValue); this.intervalMillis = intervalInSeconds * MILLIS_PER_SEC; this.history = new CircularLossyQueue<TimeStampedCounterValue>(historySize); this.resetOnSample = resetOnSample; this.samplerTask = new TimerTask() { @Override public void run() { recordSample(); } }; if (sampleNow) { recordSample(); } }
/** * Constructor accepting raw config values. * * @param intervalInSeconds sampling interval in seconds * @param historySize size of history sample * @param resetOnSample true to reset value on sample * @param initValue initial value * @param sampleNow true to record smaple immediately */ public SampledCounterImpl(long intervalInSeconds, int historySize, boolean resetOnSample, long initValue, boolean sampleNow) { super(initValue); this.intervalMillis = intervalInSeconds * MILLIS_PER_SEC; this.history = new CircularLossyQueue<TimeStampedCounterValue>(historySize); this.resetOnSample = resetOnSample; this.samplerTask = new TimerTask() { @Override public void run() { recordSample(); } }; if (sampleNow) { recordSample(); } }
/** * todo GL how many threads is this creating? * Constructor accepting a {@link SampledCounterConfig} * * @param config */ public SampledCounterImpl(SampledCounterConfig config) { super(config.getInitialValue()); this.intervalMillis = config.getIntervalSecs() * MILLIS_PER_SEC; this.history = new CircularLossyQueue<TimeStampedCounterValue>(config.getHistorySize()); this.resetOnSample = config.isResetOnSample(); this.samplerTask = new TimerTask() { @Override public void run() { recordSample(); } }; recordSample(); }