aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMayur Kale <mayurkale@google.com>2018-10-13 12:37:46 -0700
committerBogdan Drutu <bdrutu@google.com>2018-10-13 12:37:46 -0700
commit135dcd99d7fdd42c7d6fe1116a8978ca7e5ec9a7 (patch)
treecdba7302a7d9b77063bf8f803443e849f87844a8
parent4aa3f0c4a17a183c43b793eb5e946c34fdefd4bf (diff)
downloadopencensus-java-135dcd99d7fdd42c7d6fe1116a8978ca7e5ec9a7.tar.gz
contrib/DropWizardMetrics: Exclude Meter rate measures (#1493)
-rw-r--r--contrib/dropwizard/README.md8
-rw-r--r--contrib/dropwizard/src/main/java/io/opencensus/contrib/dropwizard/DropWizardMetrics.java66
-rw-r--r--contrib/dropwizard/src/test/java/io/opencensus/contrib/dropwizard/DropWizardMetricsTest.java64
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);
}