@Override public void processHistogram(MetricName name, Histogram histogram, Context context) throws IOException { final PrintStream stream = context.getStream("# time,min,max,mean,median,stddev,95%,99%,99.9%"); final Snapshot snapshot = histogram.getSnapshot(); stream.append(new StringBuilder() .append(histogram.min()).append(',') .append(histogram.max()).append(',') .append(histogram.mean()).append(',') .append(snapshot.getMedian()).append(',') .append(histogram.stdDev()).append(',') .append(snapshot.get95thPercentile()).append(',') .append(snapshot.get99thPercentile()).append(',') .append(snapshot.get999thPercentile()).toString()) .println(); stream.println(); stream.flush(); }
@Override public void processTimer(MetricName name, Timer timer, Context context) throws IOException { final PrintStream stream = context.getStream("# time,min,max,mean,median,stddev,95%,99%,99.9%"); final Snapshot snapshot = timer.getSnapshot(); stream.append(new StringBuilder() .append(timer.min()).append(',') .append(timer.max()).append(',') .append(timer.mean()).append(',') .append(snapshot.getMedian()).append(',') .append(timer.stdDev()).append(',') .append(snapshot.get95thPercentile()).append(',') .append(snapshot.get99thPercentile()).append(',') .append(snapshot.get999thPercentile()).toString()) .println(); stream.flush(); }
@Override public void processMeter(MetricName name, Metered meter, Context context) throws IOException { final PrintStream stream = context.getStream( "# time,count,1 min rate,mean rate,5 min rate,15 min rate"); stream.append(new StringBuilder() .append(meter.count()).append(',') .append(meter.oneMinuteRate()).append(',') .append(meter.meanRate()).append(',') .append(meter.fiveMinuteRate()).append(',') .append(meter.fifteenMinuteRate()).toString()) .println(); stream.flush(); }
@Override public void processCounter(MetricName name, Counter counter, Context context) throws IOException { final PrintStream stream = context.getStream("# time,count"); stream.println(counter.count()); stream.flush(); }
@Override public void processGauge(MetricName name, Gauge<?> gauge, Context context) throws IOException { final PrintStream stream = context.getStream("# time,value"); stream.println(gauge.value()); stream.flush(); }