public void refresh() { // Refresh 1 min long oneMinSum = 0; long fiveMinSum = 0; long fifteenMinSum = 0; long meanSum = 0; int count = _meters.size(); _count = 0; for (T m : _meters) { oneMinSum += m.oneMinuteRate() * SECONDS_IN_ONE_MIN; fiveMinSum += m.fiveMinuteRate() * SECONDS_IN_FIVE_MIN; fifteenMinSum += m.fifteenMinuteRate() * SECONDS_IN_FIFTEEN_MIN; meanSum += m.meanRate() * m.count(); _count += m.count(); } _oneMinRate = oneMinSum / (count * SECONDS_IN_ONE_MIN * 1.0); _fiveMinRate = fiveMinSum / (count * SECONDS_IN_FIVE_MIN * 1.0); _fifteenMinRate = fifteenMinSum / (count * SECONDS_IN_FIFTEEN_MIN * 1.0); _meanRate = meanSum / _count; }
@Override public void processMeter(MetricName metricName, Metered metered, Context context) { if (MetricsUtils.isInterested(metricName)) { LOG.trace("Processing metric {} of type Meter.", metricName); double value; if (context.reportingInterval() <= 60000L) { value = metered.oneMinuteRate(); } else if (context.reportingInterval() <= 300000) { value = metered.fiveMinuteRate(); } else { value = metered.fifteenMinuteRate(); } CruiseControlMetric ccm = MetricsUtils.toCruiseControlMetric(context.time(), context.brokerId(), metricName, value); context.reporter().sendCruiseControlMetric(ccm); } }
@Override public double getFifteenMinuteRate() { return metric.fifteenMinuteRate(); } }
public static Map<String, Double> explodeMetered(Metered metered) { return ImmutableMap.<String, Double>builder() .put("count", new Long(metered.count()).doubleValue()) .put("mean", metered.meanRate()) .put("m1", metered.oneMinuteRate()) .put("m5", metered.fiveMinuteRate()) .put("m15", metered.fifteenMinuteRate()) .build(); }
@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(); }
public static Map<String, Double> explodeMetered(Metered metered) { return ImmutableMap.<String, Double>builder() .put("count", new Long(metered.count()).doubleValue()) .put("mean", metered.meanRate()) .put("m1", metered.oneMinuteRate()) .put("m5", metered.fiveMinuteRate()) .put("m15", metered.fifteenMinuteRate()) .build(); }
private static void writeMeteredFields(Metered metered, JsonGenerator json) throws IOException { json.writeStringField("unit", metered.rateUnit().toString().toLowerCase()); json.writeNumberField("count", metered.count()); json.writeNumberField("mean", metered.meanRate()); json.writeNumberField("m1", metered.oneMinuteRate()); json.writeNumberField("m5", metered.fiveMinuteRate()); json.writeNumberField("m15", metered.fifteenMinuteRate()); } }
@Override public void processMeter(MetricName name, Metered meter, Long timestamp) { Map<String, Double> fields = new HashMap<String, Double>(); fields.put("Count", Double.valueOf(meter.count())); fields.put("MeanRate", meter.meanRate()); fields.put("FifteenMinuteRate", meter.fifteenMinuteRate()); fields.put("FiveMinuteRate", meter.fiveMinuteRate()); fields.put("OneMinuteRate", meter.oneMinuteRate()); publish(createMeasurement(name, timestamp, fixedTags, fields)); }
@Override public void processMeter(MetricName name, Metered meter, Long epoch) throws IOException { final String sanitizedName = sanitizeName(name); if (dimensions.contains(count)) sendInt(epoch, sanitizedName, "count", meter.count()); if (dimensions.contains(meanRate)) sendFloat(epoch, sanitizedName, "meanRate", meter.meanRate()); if (dimensions.contains(rate1m)) sendFloat(epoch, sanitizedName, "1MinuteRate", meter.oneMinuteRate()); if (dimensions.contains(rate5m)) sendFloat(epoch, sanitizedName, "5MinuteRate", meter.fiveMinuteRate()); if (dimensions.contains(rate15m)) sendFloat(epoch, sanitizedName, "15MinuteRate", meter.fifteenMinuteRate()); }
@Override public void processMeter(MetricName metricName, Metered metered, Context context) { if (MetricsUtils.isInterested(metricName)) { LOG.trace("Processing metric {} of type Meter.", metricName); double value; if (context.reportingInterval() <= 60000L) { value = metered.oneMinuteRate(); } else if (context.reportingInterval() <= 300000) { value = metered.fiveMinuteRate(); } else { value = metered.fifteenMinuteRate(); } CruiseControlMetric ccm = MetricsUtils.toCruiseControlMetric(context.time(), context.brokerId(), metricName, value); context.reporter().sendCruiseControlMetric(ccm); } }
private void addMeterDataObject(MetricName key, Metered meter, List<DataObject> dataObjectList) { dataObjectList.add(toDataObject(key, ".count", meter.count())); dataObjectList.add(toDataObject(key, ".meanRate", convertRate(meter.meanRate()))); dataObjectList.add(toDataObject(key, ".1-minuteRate", convertRate(meter.oneMinuteRate()))); dataObjectList.add(toDataObject(key, ".5-minuteRate", convertRate(meter.fiveMinuteRate()))); dataObjectList.add(toDataObject(key, ".15-minuteRate", convertRate(meter.fifteenMinuteRate()))); }
@Override public void processMeter(MetricName name, Metered meter, PrintStream stream) { final String unit = abbrev(meter.rateUnit()); stream.printf(locale, " count = %d\n", meter.count()); stream.printf(locale, " mean rate = %2.2f %s/%s\n", meter.meanRate(), meter.eventType(), unit); stream.printf(locale, " 1-minute rate = %2.2f %s/%s\n", meter.oneMinuteRate(), meter.eventType(), unit); stream.printf(locale, " 5-minute rate = %2.2f %s/%s\n", meter.fiveMinuteRate(), meter.eventType(), unit); stream.printf(locale, " 15-minute rate = %2.2f %s/%s\n", meter.fifteenMinuteRate(), meter.eventType(), unit); }
@Override public void processMeter(MetricName name, Metered meter, String x) throws IOException { final String sanitizedName = sanitizeName(name); final String rateUnits = meter.rateUnit().name(); final String rateUnit = rateUnits.substring(0, rateUnits.length() - 1).toLowerCase(Locale.US); final String unit = meter.eventType() + '/' + rateUnit; printLongField(sanitizedName + ".count", meter.count(), "metered", meter.eventType()); printDoubleField(sanitizedName + ".meanRate", meter.meanRate(), "metered", unit); printDoubleField(sanitizedName + ".1MinuteRate", meter.oneMinuteRate(), "metered", unit); printDoubleField(sanitizedName + ".5MinuteRate", meter.fiveMinuteRate(), "metered", unit); printDoubleField(sanitizedName + ".15MinuteRate", meter.fifteenMinuteRate(), "metered", unit); }
public void processMeter(MetricName name, Metered meter, Long epoch) throws Exception { pushCounter(name, meter.count(), epoch); pushGauge(name, meter.meanRate(), epoch, "mean"); pushGauge(name, meter.oneMinuteRate(), epoch, "1MinuteRate"); pushGauge(name, meter.fiveMinuteRate(), epoch, "5MinuteRate"); pushGauge(name, meter.fifteenMinuteRate(), epoch, "15MinuteRate"); }
@Override public void processMeter(MetricName name, Metered meter, Long epoch) throws IOException { final String sanitizedName = sanitizeName(name); sendInt(epoch, sanitizedName, "count", meter.count()); sendFloat(epoch, sanitizedName, "meanRate", meter.meanRate()); sendFloat(epoch, sanitizedName, "1MinuteRate", meter.oneMinuteRate()); sendFloat(epoch, sanitizedName, "5MinuteRate", meter.fiveMinuteRate()); sendFloat(epoch, sanitizedName, "15MinuteRate", meter.fifteenMinuteRate()); }
@Override public void processMeter(MetricName name, Metered meter, Long epoch) { final String sanitizedName = sanitizeName(name); sendToStatsD(sanitizedName + ".samples", formatNumber(meter.count())); sendToStatsD(sanitizedName + ".meanRate", formatNumber(meter.meanRate())); sendToStatsD(sanitizedName + ".1MinuteRate", formatNumber(meter.oneMinuteRate())); sendToStatsD(sanitizedName + ".5MinuteRate", formatNumber(meter.fiveMinuteRate())); sendToStatsD(sanitizedName + ".15MinuteRate", formatNumber(meter.fifteenMinuteRate())); }