@Override public Snapshot getSnapshot() { return new HistogramStatisticsWrapper(histogram.getStatistics()); } }
private void addSamples(final List<String> labelValues, final Histogram histogram, final List<MetricFamilySamples.Sample> samples) { samples.add(new MetricFamilySamples.Sample(metricName + "_count", labelNamesWithQuantile.subList(0, labelNamesWithQuantile.size() - 1), labelValues, histogram.getCount())); for (final Double quantile : QUANTILES) { samples.add(new MetricFamilySamples.Sample(metricName, labelNamesWithQuantile, addToList(labelValues, quantile.toString()), histogram.getStatistics().getQuantile(quantile))); } } }
@Override public void update(long value) { histogram.update(value); }
@Override public long getCount() { return histogram.getCount(); }
@Override public long getCount() { return histogram.getCount(); }
@Override public long getMin() { return histogram.getStatistics().getMin(); }
private void reportHistogram(final String name, final Histogram histogram) { if (histogram != null) { HistogramStatistics statistics = histogram.getStatistics(); if (statistics != null) { send(prefix(name, "count"), String.valueOf(histogram.getCount())); send(prefix(name, "max"), String.valueOf(statistics.getMax())); send(prefix(name, "min"), String.valueOf(statistics.getMin())); send(prefix(name, "mean"), String.valueOf(statistics.getMean())); send(prefix(name, "stddev"), String.valueOf(statistics.getStdDev())); send(prefix(name, "p50"), String.valueOf(statistics.getQuantile(0.5))); send(prefix(name, "p75"), String.valueOf(statistics.getQuantile(0.75))); send(prefix(name, "p95"), String.valueOf(statistics.getQuantile(0.95))); send(prefix(name, "p98"), String.valueOf(statistics.getQuantile(0.98))); send(prefix(name, "p99"), String.valueOf(statistics.getQuantile(0.99))); send(prefix(name, "p999"), String.valueOf(statistics.getQuantile(0.999))); } } }
@Test public void testLatencyStatsOperator() { testLatencyStats(LatencyStats.Granularity.OPERATOR, registrations -> { Assert.assertEquals(2, registrations.size()); { final Tuple2<String, Histogram> registration = registrations.get(0); assertName(registration.f0, SOURCE_ID_1); Assert.assertEquals(3, registration.f1.getCount()); } { final Tuple2<String, Histogram> registration = registrations.get(1); assertName(registration.f0, SOURCE_ID_2); Assert.assertEquals(2, registration.f1.getCount()); } }); }
@Override public void update(long value) { histogram.update(value); }
@Override public double get95thPercentile() { return histogram.getStatistics().getQuantile(0.95); }
@Test public void testLatencyStatsSingle() { testLatencyStats(LatencyStats.Granularity.SINGLE, registrations -> { Assert.assertEquals(1, registrations.size()); { final Tuple2<String, Histogram> registration = registrations.get(0); assertName(registration.f0); Assert.assertEquals(5, registration.f1.getCount()); } }); }
public void update(long value) { count.inc(); sum += value; histogram.update(value); }
@Override public double get99thPercentile() { return histogram.getStatistics().getQuantile(0.99); }
@Test public void testLatencyStatsSubtask() { testLatencyStats(LatencyStats.Granularity.SUBTASK, registrations -> { Assert.assertEquals(4, registrations.size()); { final Tuple2<String, Histogram> registration = registrations.get(0); assertName(registration.f0, SOURCE_ID_1, 0); Assert.assertEquals(2, registration.f1.getCount()); } { final Tuple2<String, Histogram> registration = registrations.get(1); assertName(registration.f0, SOURCE_ID_1, 1); Assert.assertEquals(1, registration.f1.getCount()); } { final Tuple2<String, Histogram> registration = registrations.get(2); assertName(registration.f0, SOURCE_ID_2, 2); Assert.assertEquals(1, registration.f1.getCount()); } { final Tuple2<String, Histogram> registration = registrations.get(3); assertName(registration.f0, SOURCE_ID_2, 3); Assert.assertEquals(1, registration.f1.getCount()); } }); }
boolean result = attempt.switchToRunning(); if(result) { taskDeployMetrics.update( attempt.getStateTimestamp(ExecutionState.RUNNING) - attempt.getStateTimestamp(ExecutionState.DEPLOYING));
@Override public long getMax() { return histogram.getStatistics().getMax(); }
@Override public long getCount() { return histogram.getCount(); }
@Override public double getMedian() { return histogram.getStatistics().getQuantile(0.5); }
@Override public long getCount() { return histogram.getCount(); }
@Override public double get999thPercentile() { return histogram.getStatistics().getQuantile(0.999); } }