diff options
author | Mayur Kale <mayurkale@google.com> | 2018-10-13 12:37:46 -0700 |
---|---|---|
committer | Bogdan Drutu <bdrutu@google.com> | 2018-10-13 12:37:46 -0700 |
commit | 135dcd99d7fdd42c7d6fe1116a8978ca7e5ec9a7 (patch) | |
tree | cdba7302a7d9b77063bf8f803443e849f87844a8 | |
parent | 4aa3f0c4a17a183c43b793eb5e946c34fdefd4bf (diff) | |
download | opencensus-java-135dcd99d7fdd42c7d6fe1116a8978ca7e5ec9a7.tar.gz |
contrib/DropWizardMetrics: Exclude Meter rate measures (#1493)
3 files changed, 19 insertions, 119 deletions
diff --git a/contrib/dropwizard/README.md b/contrib/dropwizard/README.md index 395c303f..0010d005 100644 --- a/contrib/dropwizard/README.md +++ b/contrib/dropwizard/README.md @@ -94,14 +94,6 @@ Given a DropWizard Meter with name `get_requests`, the following values are repo * type: CUMULATIVE_INT64 * unit: 1 -rate metrics: -* name: codahale_<initial_metric_name>_<initial_type> (ex: codahale_get_requests_meter_rate) -* description: Collected from Dropwizard (metric=<metric_name>, type=<class_name>) -* type: GAUGE_DOUBLE -* unit: "events/second" -* labelkeys: rate (with 4 TimeSeries, one corresponding to each rate: mean_rate, m1_rate, -m5_rate m15_rate) - ### DropWizard Histograms Given a DropWizard Histogram with name `results`, the following values are reported: diff --git a/contrib/dropwizard/src/main/java/io/opencensus/contrib/dropwizard/DropWizardMetrics.java b/contrib/dropwizard/src/main/java/io/opencensus/contrib/dropwizard/DropWizardMetrics.java index 246be801..d95d363e 100644 --- a/contrib/dropwizard/src/main/java/io/opencensus/contrib/dropwizard/DropWizardMetrics.java +++ b/contrib/dropwizard/src/main/java/io/opencensus/contrib/dropwizard/DropWizardMetrics.java @@ -54,29 +54,7 @@ import javax.annotation.Nullable; * @since 0.17 */ public class DropWizardMetrics extends MetricProducer { - @DefaultVisibilityForTesting static final String DEFAULT_UNIT = "1"; - - @DefaultVisibilityForTesting - static final List<LabelKey> RATE_LABEL_KEY = - Collections.singletonList(LabelKey.create("rate", "measures the rate of events over time")); - - @DefaultVisibilityForTesting - static final List<LabelValue> RATE_MEAN_LABEL_VALUE = - Collections.singletonList(LabelValue.create("mean_rate")); - - @DefaultVisibilityForTesting - static final List<LabelValue> RATE_ONE_MINUTE_LABEL_VALUE = - Collections.singletonList(LabelValue.create("m1_rate")); - - @DefaultVisibilityForTesting - static final List<LabelValue> RATE_FIVE_MINUTE_LABEL_VALUE = - Collections.singletonList(LabelValue.create("m5_rate")); - - @DefaultVisibilityForTesting - static final List<LabelValue> RATE_FIFTEEN_MINUTE_LABEL_VALUE = - Collections.singletonList(LabelValue.create("m15_rate")); - private final List<com.codahale.metrics.MetricRegistry> metricRegistryList; private final Clock clock; private final Timestamp cumulativeStartTimestamp; @@ -160,60 +138,30 @@ public class DropWizardMetrics extends MetricProducer { } /** - * Returns a list of {@link Metric}s collected from {@link Meter}. + * Returns a {@code Metric} collected from {@link Meter}. * * @param dropwizardName the metric name. * @param meter the meter object to collect - * @return a list of {@link Metric}s. + * @return a {@code Metric}. */ - private List<Metric> collectMeter(String dropwizardName, Meter meter) { + private Metric collectMeter(String dropwizardName, Meter meter) { String metricName = DropWizardUtils.generateFullMetricName(dropwizardName, "meter"); String metricDescription = DropWizardUtils.generateFullMetricDescription(dropwizardName, meter); - MetricDescriptor countMetricDescriptor = + MetricDescriptor metricDescriptor = MetricDescriptor.create( metricName, metricDescription, DEFAULT_UNIT, Type.CUMULATIVE_INT64, Collections.<LabelKey>emptyList()); - TimeSeries countTimeSeries = + TimeSeries timeSeries = TimeSeries.createWithOnePoint( Collections.<LabelValue>emptyList(), Point.create(Value.longValue(meter.getCount()), clock.now()), null); - // Collect rate related metric - metricName = DropWizardUtils.generateFullMetricName(dropwizardName, "meter_rate"); - metricDescription = DropWizardUtils.generateFullMetricDescription(dropwizardName, meter); - - MetricDescriptor rateMetricDescriptor = - MetricDescriptor.create( - metricName, metricDescription, "events/second", Type.GAUGE_DOUBLE, RATE_LABEL_KEY); - - List<TimeSeries> timeSeriesList = - Arrays.asList( - TimeSeries.createWithOnePoint( - RATE_MEAN_LABEL_VALUE, - Point.create(Value.doubleValue(meter.getMeanRate()), clock.now()), - null), - TimeSeries.createWithOnePoint( - RATE_ONE_MINUTE_LABEL_VALUE, - Point.create(Value.doubleValue(meter.getOneMinuteRate()), clock.now()), - null), - TimeSeries.createWithOnePoint( - RATE_FIVE_MINUTE_LABEL_VALUE, - Point.create(Value.doubleValue(meter.getFiveMinuteRate()), clock.now()), - null), - TimeSeries.createWithOnePoint( - RATE_FIFTEEN_MINUTE_LABEL_VALUE, - Point.create(Value.doubleValue(meter.getFifteenMinuteRate()), clock.now()), - null)); - - return Collections.unmodifiableList( - Arrays.asList( - Metric.create(countMetricDescriptor, Collections.singletonList(countTimeSeries)), - Metric.create(rateMetricDescriptor, Collections.unmodifiableList(timeSeriesList)))); + return Metric.create(metricDescriptor, Collections.singletonList(timeSeries)); } /** @@ -304,7 +252,7 @@ public class DropWizardMetrics extends MetricProducer { } for (Entry<String, Meter> counterEntry : metricRegistry.getMeters().entrySet()) { - metrics.addAll(collectMeter(counterEntry.getKey(), counterEntry.getValue())); + metrics.add(collectMeter(counterEntry.getKey(), counterEntry.getValue())); } for (Entry<String, Histogram> counterEntry : metricRegistry.getHistograms().entrySet()) { diff --git a/contrib/dropwizard/src/test/java/io/opencensus/contrib/dropwizard/DropWizardMetricsTest.java b/contrib/dropwizard/src/test/java/io/opencensus/contrib/dropwizard/DropWizardMetricsTest.java index f7304ceb..2b41e9b8 100644 --- a/contrib/dropwizard/src/test/java/io/opencensus/contrib/dropwizard/DropWizardMetricsTest.java +++ b/contrib/dropwizard/src/test/java/io/opencensus/contrib/dropwizard/DropWizardMetricsTest.java @@ -18,11 +18,6 @@ package io.opencensus.contrib.dropwizard; import static com.google.common.truth.Truth.assertThat; import static io.opencensus.contrib.dropwizard.DropWizardMetrics.DEFAULT_UNIT; -import static io.opencensus.contrib.dropwizard.DropWizardMetrics.RATE_FIFTEEN_MINUTE_LABEL_VALUE; -import static io.opencensus.contrib.dropwizard.DropWizardMetrics.RATE_FIVE_MINUTE_LABEL_VALUE; -import static io.opencensus.contrib.dropwizard.DropWizardMetrics.RATE_LABEL_KEY; -import static io.opencensus.contrib.dropwizard.DropWizardMetrics.RATE_MEAN_LABEL_VALUE; -import static io.opencensus.contrib.dropwizard.DropWizardMetrics.RATE_ONE_MINUTE_LABEL_VALUE; import com.codahale.metrics.Counter; import com.codahale.metrics.Gauge; @@ -127,7 +122,7 @@ public class DropWizardMetricsTest { context.stop(); ArrayList<Metric> metrics = new ArrayList<Metric>(dropWizardMetrics.getMetrics()); - assertThat(metrics.size()).isEqualTo(10); + assertThat(metrics.size()).isEqualTo(9); assertThat(metrics.get(0).getMetricDescriptor()) .isEqualTo( @@ -244,50 +239,15 @@ public class DropWizardMetricsTest { assertThat(metrics.get(7).getMetricDescriptor()) .isEqualTo( MetricDescriptor.create( - "codahale_get_requests_meter_rate", - "Collected from codahale (metric=get_requests, " - + "type=com.codahale.metrics.Meter)", - "events/second", - Type.GAUGE_DOUBLE, - RATE_LABEL_KEY)); - assertThat(metrics.get(7).getTimeSeriesList().size()).isEqualTo(4); - assertThat(metrics.get(7).getTimeSeriesList().get(0).getLabelValues().size()).isEqualTo(1); - assertThat(metrics.get(7).getTimeSeriesList().get(0).getLabelValues()) - .isEqualTo(RATE_MEAN_LABEL_VALUE); - assertThat(metrics.get(7).getTimeSeriesList().get(0).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(7).getTimeSeriesList().get(0).getPoints()).isNotEmpty(); - assertThat(metrics.get(7).getTimeSeriesList().get(0).getStartTimestamp()).isEqualTo(null); - - assertThat(metrics.get(7).getTimeSeriesList().get(1).getLabelValues()) - .isEqualTo(RATE_ONE_MINUTE_LABEL_VALUE); - assertThat(metrics.get(7).getTimeSeriesList().get(1).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(7).getTimeSeriesList().get(1).getPoints()).isNotEmpty(); - assertThat(metrics.get(7).getTimeSeriesList().get(1).getStartTimestamp()).isEqualTo(null); - - assertThat(metrics.get(7).getTimeSeriesList().get(2).getLabelValues()) - .isEqualTo(RATE_FIVE_MINUTE_LABEL_VALUE); - assertThat(metrics.get(7).getTimeSeriesList().get(2).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(7).getTimeSeriesList().get(2).getPoints()).isNotEmpty(); - assertThat(metrics.get(7).getTimeSeriesList().get(2).getStartTimestamp()).isEqualTo(null); - - assertThat(metrics.get(7).getTimeSeriesList().get(3).getLabelValues()) - .isEqualTo(RATE_FIFTEEN_MINUTE_LABEL_VALUE); - assertThat(metrics.get(7).getTimeSeriesList().get(3).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(7).getTimeSeriesList().get(3).getPoints()).isNotEmpty(); - assertThat(metrics.get(7).getTimeSeriesList().get(3).getStartTimestamp()).isEqualTo(null); - - assertThat(metrics.get(8).getMetricDescriptor()) - .isEqualTo( - MetricDescriptor.create( "codahale_result_histogram", "Collected from codahale (metric=result, " + "type=com.codahale.metrics.Histogram)", DEFAULT_UNIT, Type.SUMMARY, Collections.<LabelKey>emptyList())); - assertThat(metrics.get(8).getTimeSeriesList().size()).isEqualTo(1); - assertThat(metrics.get(8).getTimeSeriesList().get(0).getLabelValues().size()).isEqualTo(0); - assertThat(metrics.get(8).getTimeSeriesList().get(0).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(8).getTimeSeriesList().get(0).getPoints().get(0).getValue()) + assertThat(metrics.get(7).getTimeSeriesList().size()).isEqualTo(1); + assertThat(metrics.get(7).getTimeSeriesList().get(0).getLabelValues().size()).isEqualTo(0); + assertThat(metrics.get(7).getTimeSeriesList().get(0).getPoints().size()).isEqualTo(1); + assertThat(metrics.get(7).getTimeSeriesList().get(0).getPoints().get(0).getValue()) .isEqualTo( Value.summaryValue( Summary.create( @@ -302,10 +262,10 @@ public class DropWizardMetricsTest { ValueAtPercentile.create(98.0, 200.0), ValueAtPercentile.create(99.0, 200.0), ValueAtPercentile.create(99.9, 200.0)))))); - assertThat(metrics.get(8).getTimeSeriesList().get(0).getStartTimestamp()) + assertThat(metrics.get(7).getTimeSeriesList().get(0).getStartTimestamp()) .isInstanceOf(Timestamp.class); - assertThat(metrics.get(9).getMetricDescriptor()) + assertThat(metrics.get(8).getMetricDescriptor()) .isEqualTo( MetricDescriptor.create( "codahale_requests_timer", @@ -313,10 +273,10 @@ public class DropWizardMetricsTest { DEFAULT_UNIT, Type.SUMMARY, Collections.<LabelKey>emptyList())); - assertThat(metrics.get(9).getTimeSeriesList().size()).isEqualTo(1); - assertThat(metrics.get(9).getTimeSeriesList().get(0).getLabelValues().size()).isEqualTo(0); - assertThat(metrics.get(9).getTimeSeriesList().get(0).getPoints().size()).isEqualTo(1); - assertThat(metrics.get(9).getTimeSeriesList().get(0).getPoints().get(0).getValue()) + assertThat(metrics.get(8).getTimeSeriesList().size()).isEqualTo(1); + assertThat(metrics.get(8).getTimeSeriesList().get(0).getLabelValues().size()).isEqualTo(0); + assertThat(metrics.get(8).getTimeSeriesList().get(0).getPoints().size()).isEqualTo(1); + assertThat(metrics.get(8).getTimeSeriesList().get(0).getPoints().get(0).getValue()) .isEqualTo( Value.summaryValue( Summary.create( @@ -333,7 +293,7 @@ public class DropWizardMetricsTest { ValueAtPercentile.create( 99.9, timer.getSnapshot().get999thPercentile())))))); - assertThat(metrics.get(9).getTimeSeriesList().get(0).getStartTimestamp()) + assertThat(metrics.get(8).getTimeSeriesList().get(0).getStartTimestamp()) .isInstanceOf(Timestamp.class); } |