/** * This function should go away soon (hopefully). */ public synchronized OpStatsData toOpStatsData() { long numFailed = this.events.getErrorCount(); long numSuccess = this.events.getSlidingStats().getEventCounter().get() - numFailed; double avgLatencyMillis = this.events.getSlidingStats().getPerEventLatency().read() / 1000.0; double[] defaultPercentiles = {10, 50, 90, 99, 99.9, 99.99}; long[] latenciesMillis = new long[defaultPercentiles.length]; Arrays.fill(latenciesMillis, Long.MAX_VALUE); Map<Double, ? extends Stat> realPercentileLatencies = this.events.getPercentile().getPercentiles(); for (int i = 0; i < defaultPercentiles.length; i++) { if (realPercentileLatencies.containsKey(defaultPercentiles[i])) { @SuppressWarnings("unchecked") Stat<Double> latency = realPercentileLatencies.get(defaultPercentiles[i]); latenciesMillis[i] = TimeUnit.MICROSECONDS.toMillis(latency.read().longValue()); } } return new OpStatsData(numSuccess, numFailed, avgLatencyMillis, latenciesMillis); } }
/** * This function should go away soon (hopefully). */ public synchronized OpStatsData toOpStatsData() { long numFailed = fail.getCount(); long numSuccess = success.getCount(); Snapshot s = success.getSnapshot(); double avgLatencyMillis = s.getMean(); double[] defaultPercentiles = {10, 50, 90, 99, 99.9, 99.99}; long[] latenciesMillis = new long[defaultPercentiles.length]; Arrays.fill(latenciesMillis, Long.MAX_VALUE); for (int i = 0; i < defaultPercentiles.length; i++) { latenciesMillis[i] = (long) s.getValue(defaultPercentiles[i] / 100); } return new OpStatsData(numSuccess, numFailed, avgLatencyMillis, latenciesMillis); } }
/** * This function should go away soon (hopefully). */ public synchronized OpStatsData toOpStatsData() { long numFailed = fail.getCount(); long numSuccess = success.getCount(); Snapshot s = success.getSnapshot(); double avgLatencyMillis = s.getMean(); double[] defaultPercentiles = {10, 50, 90, 99, 99.9, 99.99}; long[] latenciesMillis = new long[defaultPercentiles.length]; Arrays.fill(latenciesMillis, Long.MAX_VALUE); for (int i = 0; i < defaultPercentiles.length; i++) { latenciesMillis[i] = (long) s.getValue(defaultPercentiles[i] / 100); } return new OpStatsData(numSuccess, numFailed, avgLatencyMillis, latenciesMillis); } }
@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); }