This is an automated email from the ASF dual-hosted git repository. chesnay pushed a commit to branch release-1.11 in repository https://gitbox.apache.org/repos/asf/flink.git
commit 4daa859e2f3015cd81d11661dec3a11ed24e045d Author: Chesnay Schepler <[email protected]> AuthorDate: Fri Jun 26 14:42:17 2020 +0200 [FLINK-18435][metrics] Adjust reporter factories to intercept reflection-based instantiations --- .../prometheus/tests/PrometheusReporterEndToEndITCase.java | 8 ++++++++ .../apache/flink/metrics/datadog/DatadogHttpReporterFactory.java | 2 ++ .../apache/flink/metrics/graphite/GraphiteReporterFactory.java | 2 ++ .../apache/flink/metrics/influxdb/InfluxdbReporterFactory.java | 2 ++ .../java/org/apache/flink/metrics/jmx/JMXReporterFactory.java | 2 ++ .../metrics/prometheus/PrometheusPushGatewayReporterFactory.java | 2 ++ .../flink/metrics/prometheus/PrometheusReporterFactory.java | 2 ++ .../java/org/apache/flink/metrics/slf4j/Slf4jReporterFactory.java | 2 ++ .../org/apache/flink/metrics/statsd/StatsDReporterFactory.java | 2 ++ 9 files changed, 24 insertions(+) diff --git a/flink-end-to-end-tests/flink-metrics-reporter-prometheus-test/src/test/java/org/apache/flink/metrics/prometheus/tests/PrometheusReporterEndToEndITCase.java b/flink-end-to-end-tests/flink-metrics-reporter-prometheus-test/src/test/java/org/apache/flink/metrics/prometheus/tests/PrometheusReporterEndToEndITCase.java index 44ad63d..dbcad2a 100644 --- a/flink-end-to-end-tests/flink-metrics-reporter-prometheus-test/src/test/java/org/apache/flink/metrics/prometheus/tests/PrometheusReporterEndToEndITCase.java +++ b/flink-end-to-end-tests/flink-metrics-reporter-prometheus-test/src/test/java/org/apache/flink/metrics/prometheus/tests/PrometheusReporterEndToEndITCase.java @@ -135,11 +135,19 @@ public class PrometheusReporterEndToEndITCase extends TestLogger { FACTORY), TestParams.from("Jar in 'plugins'", builder -> {}, + REFLECTION), + TestParams.from("Jar in 'plugins'", + builder -> {}, FACTORY), TestParams.from("Jar in 'lib' and 'plugins'", builder -> { builder.copyJar(PROMETHEUS_JAR_PREFIX, JarLocation.PLUGINS, JarLocation.LIB); }, + REFLECTION), + TestParams.from("Jar in 'lib' and 'plugins'", + builder -> { + builder.copyJar(PROMETHEUS_JAR_PREFIX, JarLocation.PLUGINS, JarLocation.LIB); + }, FACTORY) ); } diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporterFactory.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporterFactory.java index d4e2e86..a7dce94 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporterFactory.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporterFactory.java @@ -18,6 +18,7 @@ package org.apache.flink.metrics.datadog; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.MetricReporterFactory; @@ -26,6 +27,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link DatadogHttpReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.datadog.DatadogHttpReporter") public class DatadogHttpReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporterFactory.java b/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporterFactory.java index b8357d9..bda681d 100644 --- a/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporterFactory.java +++ b/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporterFactory.java @@ -18,6 +18,7 @@ package org.apache.flink.metrics.graphite; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.MetricReporterFactory; @@ -26,6 +27,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link GraphiteReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.graphite.GraphiteReporter") public class GraphiteReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-influxdb/src/main/java/org/apache/flink/metrics/influxdb/InfluxdbReporterFactory.java b/flink-metrics/flink-metrics-influxdb/src/main/java/org/apache/flink/metrics/influxdb/InfluxdbReporterFactory.java index 7659362..c272a6f 100644 --- a/flink-metrics/flink-metrics-influxdb/src/main/java/org/apache/flink/metrics/influxdb/InfluxdbReporterFactory.java +++ b/flink-metrics/flink-metrics-influxdb/src/main/java/org/apache/flink/metrics/influxdb/InfluxdbReporterFactory.java @@ -18,6 +18,7 @@ package org.apache.flink.metrics.influxdb; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.MetricReporterFactory; @@ -26,6 +27,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link InfluxdbReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.influxdb.InfluxdbReporter") public class InfluxdbReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporterFactory.java b/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporterFactory.java index 128fb6b..31d9110 100644 --- a/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporterFactory.java +++ b/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporterFactory.java @@ -17,6 +17,7 @@ package org.apache.flink.metrics.jmx; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporterFactory; import java.util.Properties; @@ -24,6 +25,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link JMXReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.jmx.JMXReporter") public class JMXReporterFactory implements MetricReporterFactory { static final String ARG_PORT = "port"; diff --git a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusPushGatewayReporterFactory.java b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusPushGatewayReporterFactory.java index 7b7372e..176ce17 100644 --- a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusPushGatewayReporterFactory.java +++ b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusPushGatewayReporterFactory.java @@ -17,6 +17,7 @@ package org.apache.flink.metrics.prometheus; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporterFactory; import java.util.Properties; @@ -24,6 +25,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link PrometheusPushGatewayReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter") public class PrometheusPushGatewayReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusReporterFactory.java b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusReporterFactory.java index a1ad365..fecc755 100644 --- a/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusReporterFactory.java +++ b/flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusReporterFactory.java @@ -17,6 +17,7 @@ package org.apache.flink.metrics.prometheus; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporterFactory; import java.util.Properties; @@ -24,6 +25,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link PrometheusReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.prometheus.PrometheusReporter") public class PrometheusReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporterFactory.java b/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporterFactory.java index 2acb236..2b2a9f6 100644 --- a/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporterFactory.java +++ b/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporterFactory.java @@ -17,6 +17,7 @@ package org.apache.flink.metrics.slf4j; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.MetricReporterFactory; @@ -25,6 +26,7 @@ import java.util.Properties; /** * {@link MetricReporterFactory} for {@link Slf4jReporter}. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.slf4j.Slf4jReporter") public class Slf4jReporterFactory implements MetricReporterFactory { @Override diff --git a/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporterFactory.java b/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporterFactory.java index e409ce3..cda9504 100644 --- a/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporterFactory.java +++ b/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporterFactory.java @@ -18,6 +18,7 @@ package org.apache.flink.metrics.statsd; +import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.MetricReporterFactory; @@ -26,6 +27,7 @@ import java.util.Properties; /** * A {@link MetricReporterFactory} implementation that creates a {@link StatsDReporter} instance. */ +@InterceptInstantiationViaReflection(reporterClassName = "org.apache.flink.metrics.statsd.StatsDReporter") public class StatsDReporterFactory implements MetricReporterFactory { @Override
