public LatencyMetric(T h) { Snapshot s = h.getSnapshot(); _min = h.min(); _max = h.max(); _mean = h.mean(); if (null != s) { _percentile95 = s.get95thPercentile(); _percentile99 = s.get99thPercentile(); _percentile999 = s.get999thPercentile(); } else { _percentile95 = -1; _percentile99 = -1; _percentile999 = -1; } _histogram = h; }
private void pushSummarizable(MetricName name, Summarizable summarizable, Long epoch) { pushGauge(name, summarizable.min(), epoch, "min"); pushGauge(name, summarizable.max(), epoch, "max"); pushGauge(name, summarizable.mean(), epoch, "mean"); pushGauge(name, summarizable.stdDev(), epoch, "stddev"); }
protected void sendSummarizable(long epoch, String sanitizedName, Summarizable metric) throws IOException { sendFloat(epoch, sanitizedName, "min", metric.min()); sendFloat(epoch, sanitizedName, "max", metric.max()); sendFloat(epoch, sanitizedName, "mean", metric.mean()); sendFloat(epoch, sanitizedName, "stddev", metric.stdDev()); }
@Override protected void sendSummarizable(long epoch, String sanitizedName, Summarizable metric) throws IOException { if (dimensions.contains(min)) sendFloat(epoch, sanitizedName, "min", metric.min()); if (dimensions.contains(max)) sendFloat(epoch, sanitizedName, "max", metric.max()); if (dimensions.contains(mean)) sendFloat(epoch, sanitizedName, "mean", metric.mean()); if (dimensions.contains(stddev)) sendFloat(epoch, sanitizedName, "stddev", metric.stdDev()); if (dimensions.contains(sum)) sendFloat(epoch, sanitizedName, "sum", metric.sum()); }
/** * Retrieve values for pre-defined stats (min/max/mean/sum/stddev) from a {@link Summarizable} metric (e.g. histogram) * * @param metric metric to retrieve stats from * @param convertNanToZero simulate {@link com.yammer.metrics.core.Histogram} histogram behavior when used with * {@link com.yammer.metrics.core.WavefrontHistogram} as input: * when "true", empty WavefrontHistogram reports zero values for all stats * @return summarizable stats */ public static Map<String, Double> explodeSummarizable(Summarizable metric, boolean convertNanToZero) { return ImmutableMap.<String, Double>builder() .put("min", sanitizeValue(metric.min(), convertNanToZero)) .put("max", sanitizeValue(metric.max(), convertNanToZero)) .put("mean", sanitizeValue(metric.mean(), convertNanToZero)) .put("sum", metric.sum()) .put("stddev", metric.stdDev()) .build(); }
/** * Retrieve values for pre-defined stats (min/max/mean/sum/stddev) from a {@link Summarizable} metric (e.g. histogram) * * @param metric metric to retrieve stats from * @param convertNanToZero simulate {@link com.yammer.metrics.core.Histogram} histogram behavior when used with * {@link com.yammer.metrics.core.WavefrontHistogram} as input: * when "true", empty WavefrontHistogram reports zero values for all stats * @return summarizable stats */ public static Map<String, Double> explodeSummarizable(Summarizable metric, boolean convertNanToZero) { return ImmutableMap.<String, Double>builder() .put("min", sanitizeValue(metric.min(), convertNanToZero)) .put("max", sanitizeValue(metric.max(), convertNanToZero)) .put("mean", sanitizeValue(metric.mean(), convertNanToZero)) .put("sum", metric.sum()) .put("stddev", metric.stdDev()) .build(); }
protected void sendSummarizable(String sanitizedName, Summarizable metric) { sendToStatsD(sanitizedName + ".min", formatNumber(metric.min())); sendToStatsD(sanitizedName + ".max", formatNumber(metric.max())); sendToStatsD(sanitizedName + ".mean", formatNumber(metric.mean())); sendToStatsD(sanitizedName + ".stddev", formatNumber(metric.stdDev())); }