public void reset() { final Lock workLock = lock.writeLock(); workLock.lock(); try { statistics = new M2AwareStatisticalSummary(Double.NaN, Double.NaN, 0, Double.NaN, Double.NaN, Double.NaN, Double.NaN); } finally { workLock.unlock(); } }
public double getMax() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getMax(); } finally { workLock.unlock(); } }
public double getMean() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getMean(); } finally { workLock.unlock(); } }
public double getVariance() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getVariance(); } finally { workLock.unlock(); } }
public double getSecondMoment() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getSecondMoment(); } finally { workLock.unlock(); } }
public double getSum() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getSum(); } finally { workLock.unlock(); } }
public double getMin() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getMin(); } finally { workLock.unlock(); } }
public long getHits() { final Lock workLock = lock.readLock(); workLock.lock(); try { return statistics.getN(); } finally { workLock.unlock(); } }
public double getStandardDeviation() { final Lock workLock = lock.readLock(); workLock.lock(); try { return Math.sqrt(statistics.getVariance()); } finally { workLock.unlock(); } }
protected CassandraLeafCounter counter(final Counter.Key ckey, final DynamicDelegatedSerializer<Object> serializer, final ColumnSlice<String, Object> map, final String marker) { return new CassandraLeafCounter(ckey, this, marker) .sync(new M2AwareStatisticalSummary( getOrDefault( serializer, map.getColumnByName( "mean" ), DoubleSerializer.get() ).doubleValue(), getOrDefault( serializer, map.getColumnByName( "variance" ), DoubleSerializer.get() ).doubleValue(), getOrDefault( serializer, map.getColumnByName( "n" ), LongSerializer.get() ).longValue(), getOrDefault( serializer, map.getColumnByName( "max" ), DoubleSerializer.get() ).doubleValue(), getOrDefault( serializer, map.getColumnByName( "min" ), DoubleSerializer.get() ).doubleValue(), getOrDefault( serializer, map.getColumnByName( "sum" ), DoubleSerializer.get() ).doubleValue(), getOrDefault( serializer, map.getColumnByName( "m2" ), DoubleSerializer.get() ).doubleValue()), getOrDefault( serializer, map.getColumnByName( "maxConcurrency" ), IntegerSerializer.get() ).intValue()); }
variance = m2 / (n - 1); return new M2AwareStatisticalSummary(mean, variance, n, max, min, sum, m2);
@Override protected void pushCountersByBatch(final Collection<Counter> instances) { for (final Counter counter : instances) { delegate.getOrCreateCounter(counter.getKey(), marker) .update(new M2AwareStatisticalSummary( counter.getMean(), counter.getVariance(), counter.getHits(), counter.getMax(), counter.getMin(), counter.getSum(), counter.getSecondMoment()), counter.currentConcurrency().get()); } }