You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2019/05/09 06:57:37 UTC

[flink] 02/05: [FLINK-12325][metrics] Add counter/gauge tests for StatsD

This is an automated email from the ASF dual-hosted git repository.

chesnay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit a8cc170c9471beac271b6f5e22f18d586dc33765
Author: Richard Deurwaarder <rd...@bol.com>
AuthorDate: Thu May 2 12:07:08 2019 +0200

    [FLINK-12325][metrics] Add counter/gauge tests for StatsD
---
 .../flink/metrics/statsd/StatsDReporterTest.java   | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/flink-metrics/flink-metrics-statsd/src/test/java/org/apache/flink/metrics/statsd/StatsDReporterTest.java b/flink-metrics/flink-metrics-statsd/src/test/java/org/apache/flink/metrics/statsd/StatsDReporterTest.java
index a0b853f..d447a4c 100644
--- a/flink-metrics/flink-metrics-statsd/src/test/java/org/apache/flink/metrics/statsd/StatsDReporterTest.java
+++ b/flink-metrics/flink-metrics-statsd/src/test/java/org/apache/flink/metrics/statsd/StatsDReporterTest.java
@@ -23,6 +23,7 @@ import org.apache.flink.configuration.ConfigConstants;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.configuration.MetricOptions;
 import org.apache.flink.metrics.Counter;
+import org.apache.flink.metrics.Gauge;
 import org.apache.flink.metrics.Histogram;
 import org.apache.flink.metrics.HistogramStatistics;
 import org.apache.flink.metrics.Metric;
@@ -163,6 +164,28 @@ public class StatsDReporterTest extends TestLogger {
 		testMetricAndAssert(new TestMeter(), "metric", expectedLines);
 	}
 
+	/**
+	 * Tests that counter are properly reported via the StatsD reporter.
+	 */
+	@Test
+	public void testStatsDCountersReporting() throws Exception {
+		Set<String> expectedLines = new HashSet<>(2);
+		expectedLines.add("metric:100|g");
+
+		Counter counter = new SimpleCounter();
+		counter.inc(100);
+
+		testMetricAndAssert(counter, "metric", expectedLines);
+	}
+
+	@Test
+	public void testStatsDGaugesReporting() throws Exception {
+		Set<String> expectedLines = new HashSet<>(2);
+		expectedLines.add("metric:75|g");
+
+		testMetricAndAssert((Gauge) () -> 75, "metric", expectedLines);
+	}
+
 	private void testMetricAndAssert(Metric metric, String metricName, Set<String> expectation) throws Exception {
 		StatsDReporter reporter = null;
 		DatagramSocketReceiver receiver = null;