@Override public Long get() { return this.ostrichCounter.apply(); } }
@Override public void inc() { this.ostrichCounter.incr(); }
@Override public void clear() { this.ostrichCounter.reset(); }
@Override public void dec() { this.ostrichCounter.incr(-1); }
@Override public OpStatsData toOpStatsData() { long numSuccess = successCounter.apply(); long numFailures = failureCounter.apply(); com.twitter.ostrich.stats.Distribution distribution = successMetric.apply(); com.twitter.ostrich.stats.Histogram histogram = distribution.histogram(); double avgLatency = distribution.average(); long[] percentiles = new long[PERCENTILES.length]; int i = 0; for (double percentile : PERCENTILES) { percentiles[i] = histogram.getPercentile(percentile); ++i; } return new OpStatsData(numSuccess, numFailures, avgLatency, percentiles); }
@Override public void add(long delta) { this.ostrichCounter.incr((int) delta); }
@Override public void registerSuccessfulValue(long value) { if (value < 0) { LOG.debug("{} : tried to register negative success", scope); } else { successMetric.add((int) value); successCounter.incr(); } }
@Override public void registerFailedEvent(long eventLatency, TimeUnit unit) { if (eventLatency < 0) { LOG.debug("{} : tried to register negative failure", scope); } else { failureMetric.add((int) unit.toMillis(eventLatency)); failureCounter.incr(); } }
@Override public void registerSuccessfulEvent(long eventLatency, TimeUnit unit) { if (eventLatency < 0) { LOG.debug("{} : tried to register negative success", scope); } else { successMetric.add((int) unit.toMillis(eventLatency)); successCounter.incr(); } }
@Override public void registerFailedValue(long value) { if (value < 0) { LOG.debug("{} : tried to register negative success", scope); } else { failureMetric.add((int) value); failureCounter.incr(); } }