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

[flink] branch master updated (fd9ef60 -> 3e8774d)

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

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


    from fd9ef60  [FLINK-12987][metrics] fix DescriptiveStatisticsHistogram#getCount() not returning the number of elements seen
     new d9f0127  [FLINK-12984][metrics] only call Histogram#getStatistics() once where possible
     new 3e8774d  [hotfix][tests] let MeterViewTest extend from TestLogger

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/flink/metrics/MeterViewTest.java    |  4 +++-
 .../apache/flink/metrics/jmx/JMXReporterTest.java  | 22 ++++++++++++----------
 .../prometheus/AbstractPrometheusReporter.java     |  4 +++-
 3 files changed, 18 insertions(+), 12 deletions(-)


[flink] 02/02: [hotfix][tests] let MeterViewTest extend from TestLogger

Posted by nk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 3e8774dd5c0dc2a968e0984cb7646d451b471a57
Author: Nico Kruber <ni...@ververica.com>
AuthorDate: Wed Jul 10 13:01:02 2019 +0200

    [hotfix][tests] let MeterViewTest extend from TestLogger
---
 .../src/test/java/org/apache/flink/metrics/MeterViewTest.java         | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MeterViewTest.java b/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MeterViewTest.java
index 7752a6e..c074894 100644
--- a/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MeterViewTest.java
+++ b/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MeterViewTest.java
@@ -18,6 +18,8 @@
 
 package org.apache.flink.metrics;
 
+import org.apache.flink.util.TestLogger;
+
 import org.junit.Test;
 
 import static org.apache.flink.metrics.View.UPDATE_INTERVAL_SECONDS;
@@ -26,7 +28,7 @@ import static org.junit.Assert.assertEquals;
 /**
  * Tests for the MeterView.
  */
-public class MeterViewTest {
+public class MeterViewTest extends TestLogger {
 	@Test
 	public void testGetCount() {
 		Counter c = new SimpleCounter();


[flink] 01/02: [FLINK-12984][metrics] only call Histogram#getStatistics() once where possible

Posted by nk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d9f012746f5b8b36ebb416f70e9f5bac93538d5d
Author: Nico Kruber <ni...@ververica.com>
AuthorDate: Mon Jun 24 13:33:49 2019 +0200

    [FLINK-12984][metrics] only call Histogram#getStatistics() once where possible
    
    In some occasions, Histogram#getStatistics() was called multiple times to
    retrieve different statistics. However, at least the dropwizard implementation
    has some constant overhead per call and we should maybe rather interpret this
    method as returning a point-in-time snapshot of the histogram in order to get
    consistent values when querying them.
---
 .../apache/flink/metrics/jmx/JMXReporterTest.java  | 22 ++++++++++++----------
 .../prometheus/AbstractPrometheusReporter.java     |  4 +++-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/metrics/jmx/JMXReporterTest.java b/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/metrics/jmx/JMXReporterTest.java
index 883b918..a3bd024 100644
--- a/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/metrics/jmx/JMXReporterTest.java
+++ b/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/metrics/jmx/JMXReporterTest.java
@@ -19,6 +19,7 @@
 package org.apache.flink.metrics.jmx;
 
 import org.apache.flink.metrics.Gauge;
+import org.apache.flink.metrics.HistogramStatistics;
 import org.apache.flink.metrics.reporter.MetricReporter;
 import org.apache.flink.metrics.util.TestHistogram;
 import org.apache.flink.metrics.util.TestMeter;
@@ -245,16 +246,17 @@ public class JMXReporterTest extends TestLogger {
 			assertEquals(11, attributeInfos.length);
 
 			assertEquals(histogram.getCount(), mBeanServer.getAttribute(objectName, "Count"));
-			assertEquals(histogram.getStatistics().getMean(), mBeanServer.getAttribute(objectName, "Mean"));
-			assertEquals(histogram.getStatistics().getStdDev(), mBeanServer.getAttribute(objectName, "StdDev"));
-			assertEquals(histogram.getStatistics().getMax(), mBeanServer.getAttribute(objectName, "Max"));
-			assertEquals(histogram.getStatistics().getMin(), mBeanServer.getAttribute(objectName, "Min"));
-			assertEquals(histogram.getStatistics().getQuantile(0.5), mBeanServer.getAttribute(objectName, "Median"));
-			assertEquals(histogram.getStatistics().getQuantile(0.75), mBeanServer.getAttribute(objectName, "75thPercentile"));
-			assertEquals(histogram.getStatistics().getQuantile(0.95), mBeanServer.getAttribute(objectName, "95thPercentile"));
-			assertEquals(histogram.getStatistics().getQuantile(0.98), mBeanServer.getAttribute(objectName, "98thPercentile"));
-			assertEquals(histogram.getStatistics().getQuantile(0.99), mBeanServer.getAttribute(objectName, "99thPercentile"));
-			assertEquals(histogram.getStatistics().getQuantile(0.999), mBeanServer.getAttribute(objectName, "999thPercentile"));
+			HistogramStatistics statistics = histogram.getStatistics();
+			assertEquals(statistics.getMean(), mBeanServer.getAttribute(objectName, "Mean"));
+			assertEquals(statistics.getStdDev(), mBeanServer.getAttribute(objectName, "StdDev"));
+			assertEquals(statistics.getMax(), mBeanServer.getAttribute(objectName, "Max"));
+			assertEquals(statistics.getMin(), mBeanServer.getAttribute(objectName, "Min"));
+			assertEquals(statistics.getQuantile(0.5), mBeanServer.getAttribute(objectName, "Median"));
+			assertEquals(statistics.getQuantile(0.75), mBeanServer.getAttribute(objectName, "75thPercentile"));
+			assertEquals(statistics.getQuantile(0.95), mBeanServer.getAttribute(objectName, "95thPercentile"));
+			assertEquals(statistics.getQuantile(0.98), mBeanServer.getAttribute(objectName, "98thPercentile"));
+			assertEquals(statistics.getQuantile(0.99), mBeanServer.getAttribute(objectName, "99thPercentile"));
+			assertEquals(statistics.getQuantile(0.999), mBeanServer.getAttribute(objectName, "999thPercentile"));
 
 		} finally {
 			if (registry != null) {
diff --git a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/AbstractPrometheusReporter.java b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/AbstractPrometheusReporter.java
index 72bff5b..a6076ad 100644
--- a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/AbstractPrometheusReporter.java
+++ b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/AbstractPrometheusReporter.java
@@ -24,6 +24,7 @@ import org.apache.flink.metrics.CharacterFilter;
 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.Meter;
 import org.apache.flink.metrics.Metric;
 import org.apache.flink.metrics.MetricConfig;
@@ -300,10 +301,11 @@ public abstract class AbstractPrometheusReporter implements MetricReporter {
 		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()));
+			final HistogramStatistics statistics = histogram.getStatistics();
 			for (final Double quantile : QUANTILES) {
 				samples.add(new MetricFamilySamples.Sample(metricName, labelNamesWithQuantile,
 					addToList(labelValues, quantile.toString()),
-					histogram.getStatistics().getQuantile(quantile)));
+					statistics.getQuantile(quantile)));
 			}
 		}
 	}