[FLINK-6431] [metrics] Activate strict checkstyle in flink-metrics This closes #3968.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/ce573c65 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/ce573c65 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/ce573c65 Branch: refs/heads/master Commit: ce573c65e2573ae12c8f6a76cc580445886a0a74 Parents: 61914ab Author: zentol <[email protected]> Authored: Tue May 2 17:31:27 2017 +0200 Committer: zentol <[email protected]> Committed: Wed May 24 16:46:03 2017 +0200 ---------------------------------------------------------------------- .../apache/flink/metrics/CharacterFilter.java | 2 +- .../org/apache/flink/metrics/Histogram.java | 2 +- .../flink/metrics/HistogramStatistics.java | 6 +- .../org/apache/flink/metrics/MeterView.java | 23 +- .../org/apache/flink/metrics/MetricConfig.java | 1 + .../org/apache/flink/metrics/MetricGroup.java | 20 +- .../org/apache/flink/metrics/SimpleCounter.java | 3 +- .../java/org/apache/flink/metrics/View.java | 3 +- .../metrics/reporter/AbstractReporter.java | 1 + .../flink/metrics/reporter/MetricReporter.java | 4 +- .../apache/flink/metrics/util/TestMeter.java | 3 + .../org/apache/flink/metrics/MeterViewTest.java | 4 + .../apache/flink/metrics/datadog/DCounter.java | 8 +- .../apache/flink/metrics/datadog/DGauge.java | 9 +- .../apache/flink/metrics/datadog/DMeter.java | 6 +- .../apache/flink/metrics/datadog/DMetric.java | 8 +- .../apache/flink/metrics/datadog/DSeries.java | 8 +- .../metrics/datadog/DatadogHttpClient.java | 8 +- .../metrics/datadog/DatadogHttpReporter.java | 31 +- .../flink/metrics/datadog/MetricType.java | 8 +- .../metrics/datadog/DatadogHttpClientTest.java | 317 +++++++++---------- .../dropwizard/ScheduledDropwizardReporter.java | 11 +- .../metrics/DropwizardHistogramStatistics.java | 3 +- .../dropwizard/metrics/FlinkCounterWrapper.java | 4 + .../dropwizard/metrics/FlinkGaugeWrapper.java | 5 +- .../metrics/FlinkHistogramWrapper.java | 3 +- .../dropwizard/metrics/FlinkMeterWrapper.java | 3 +- .../metrics/HistogramStatisticsWrapper.java | 6 +- .../ScheduledDropwizardReporterTest.java | 10 +- .../DropwizardFlinkHistogramWrapperTest.java | 27 +- .../metrics/DropwizardMeterWrapperTest.java | 3 + .../metrics/FlinkMeterWrapperTest.java | 4 + .../flink/metrics/ganglia/GangliaReporter.java | 15 +- .../metrics/graphite/GraphiteReporter.java | 14 +- .../apache/flink/metrics/jmx/JMXReporter.java | 46 ++- .../flink/metrics/jmx/JMXReporterTest.java | 13 +- .../jobmanager/JMXJobManagerMetricTest.java | 9 + .../flink/metrics/statsd/StatsDReporter.java | 18 +- .../metrics/statsd/StatsDReporterTest.java | 17 +- flink-metrics/pom.xml | 39 +++ 40 files changed, 418 insertions(+), 307 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/CharacterFilter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/CharacterFilter.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/CharacterFilter.java index 1e9fbc4..10cd9ce 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/CharacterFilter.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/CharacterFilter.java @@ -27,7 +27,7 @@ public interface CharacterFilter { /** * Filter the given string and generate a resulting string from it. * - * For example, one implementation could filter out invalid characters from the input string. + * <p>For example, one implementation could filter out invalid characters from the input string. * * @param input Input string * @return Filtered result string http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/Histogram.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/Histogram.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/Histogram.java index af5c9b0..070a52a 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/Histogram.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/Histogram.java @@ -21,7 +21,7 @@ package org.apache.flink.metrics; /** * Histogram interface to be used with Flink's metrics system. * - * The histogram allows to record values, get the current count of recorded values and create + * <p>The histogram allows to record values, get the current count of recorded values and create * histogram statistics for the currently seen elements. */ public interface Histogram extends Metric { http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/HistogramStatistics.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/HistogramStatistics.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/HistogramStatistics.java index b2e4507..7a4b0a9 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/HistogramStatistics.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/HistogramStatistics.java @@ -21,7 +21,7 @@ package org.apache.flink.metrics; /** * Histogram statistics represent the current snapshot of elements recorded in the histogram. * - * The histogram statistics allow to calculate values for quantiles, the mean, the standard + * <p>The histogram statistics allow to calculate values for quantiles, the mean, the standard * deviation, the minimum and the maximum. */ public abstract class HistogramStatistics { @@ -35,14 +35,14 @@ public abstract class HistogramStatistics { public abstract double getQuantile(double quantile); /** - * Returns the elements of the statistics' sample + * Returns the elements of the statistics' sample. * * @return Elements of the statistics' sample */ public abstract long[] getValues(); /** - * Returns the size of the statistics' sample + * Returns the size of the statistics' sample. * * @return Size of the statistics' sample */ http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MeterView.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MeterView.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MeterView.java index b87b983..8df0e86 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MeterView.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MeterView.java @@ -15,32 +15,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.metrics; /** * A MeterView provides an average rate of events per second over a given time period. - * - * The primary advantage of this class is that the rate is neither updated by the computing thread nor for every event. + * + * <p>The primary advantage of this class is that the rate is neither updated by the computing thread nor for every event. * Instead, a history of counts is maintained that is updated in regular intervals by a background thread. From this * history a rate is derived on demand, which represents the average rate of events over the given time span. - * - * Setting the time span to a low value reduces memory-consumption and will more accurately report short-term changes. + * + * <p>Setting the time span to a low value reduces memory-consumption and will more accurately report short-term changes. * The minimum value possible is {@link View#UPDATE_INTERVAL_SECONDS}. * A high value in turn increases memory-consumption, since a longer history has to be maintained, but will result in * smoother transitions between rates. - * - * The events are counted by a {@link Counter}. + * + * <p>The events are counted by a {@link Counter}. */ public class MeterView implements Meter, View { - /** The underlying counter maintaining the count */ + /** The underlying counter maintaining the count. */ private final Counter counter; - /** The time-span over which the average is calculated */ + /** The time-span over which the average is calculated. */ private final int timeSpanInSeconds; - /** Circular array containing the history of values */ + /** Circular array containing the history of values. */ private final long[] values; - /** The index in the array for the current time */ + /** The index in the array for the current time. */ private int time = 0; - /** The last rate we computed */ + /** The last rate we computed. */ private double currentRate = 0; public MeterView(int timeSpanInSeconds) { http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java index 4a2e616..699afdf 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricConfig.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.metrics; import java.util.Properties; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricGroup.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricGroup.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricGroup.java index d4221ef..39ab3b6 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricGroup.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/MetricGroup.java @@ -22,10 +22,10 @@ import java.util.Map; /** * A MetricGroup is a named container for {@link Metric Metrics} and further metric subgroups. - * + * * <p>Instances of this class can be used to register new metrics with Flink and to create a nested * hierarchy based on the group names. - * + * * <p>A MetricGroup is uniquely identified by it's place in the hierarchy and name. */ public interface MetricGroup { @@ -69,7 +69,7 @@ public interface MetricGroup { * @return the given counter */ <C extends Counter> C counter(String name, C counter); - + /** * Registers a new {@link org.apache.flink.metrics.Gauge} with Flink. * @@ -95,7 +95,7 @@ public interface MetricGroup { * * @param name name of the histogram * @param histogram histogram to register - * @param <H> histogram type + * @param <H> histogram type * @return the registered histogram */ <H extends Histogram> H histogram(String name, H histogram); @@ -105,7 +105,7 @@ public interface MetricGroup { * * @param name name of the histogram * @param histogram histogram to register - * @param <H> histogram type + * @param <H> histogram type * @return the registered histogram */ <H extends Histogram> H histogram(int name, H histogram); @@ -156,7 +156,7 @@ public interface MetricGroup { /** * Gets the scope as an array of the scope components, for example - * {@code ["host-7", "taskmanager-2", "window_word_count", "my-mapper"]} + * {@code ["host-7", "taskmanager-2", "window_word_count", "my-mapper"]}. * * @see #getMetricIdentifier(String) * @see #getMetricIdentifier(String, CharacterFilter) @@ -165,15 +165,15 @@ public interface MetricGroup { /** * Returns a map of all variables and their associated value, for example - * {@code {"<host>"="host-7", "<tm_id>"="taskmanager-2"}} - * + * {@code {"<host>"="host-7", "<tm_id>"="taskmanager-2"}}. + * * @return map of all variables and their associated value */ Map<String, String> getAllVariables(); /** * Returns the fully qualified metric name, for example - * {@code "host-7.taskmanager-2.window_word_count.my-mapper.metricName"} + * {@code "host-7.taskmanager-2.window_word_count.my-mapper.metricName"}. * * @param metricName metric name * @return fully qualified metric name @@ -182,7 +182,7 @@ public interface MetricGroup { /** * Returns the fully qualified metric name, for example - * {@code "host-7.taskmanager-2.window_word_count.my-mapper.metricName"} + * {@code "host-7.taskmanager-2.window_word_count.my-mapper.metricName"}. * * @param metricName metric name * @param filter character filter which is applied to the scope components if not null. http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/SimpleCounter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/SimpleCounter.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/SimpleCounter.java index 6ec3b28..2efc0c9 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/SimpleCounter.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/SimpleCounter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.metrics; /** @@ -22,7 +23,7 @@ package org.apache.flink.metrics; */ public class SimpleCounter implements Counter { - /** the current count */ + /** the current count. */ private long count; /** http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/View.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/View.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/View.java index 1780130..2bbb3a9 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/View.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/View.java @@ -15,13 +15,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.metrics; /** * An interface for metrics which should be updated in regular intervals by a background thread. */ public interface View { - /** The interval in which metrics are updated */ + /** The interval in which metrics are updated. */ int UPDATE_INTERVAL_SECONDS = 5; /** http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/AbstractReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/AbstractReporter.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/AbstractReporter.java index 0c8d9ad..c0aeb4b 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/AbstractReporter.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/AbstractReporter.java @@ -25,6 +25,7 @@ import org.apache.flink.metrics.Histogram; import org.apache.flink.metrics.Meter; import org.apache.flink.metrics.Metric; import org.apache.flink.metrics.MetricGroup; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/MetricReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/MetricReporter.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/MetricReporter.java index ee92a10..5c8085f 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/MetricReporter.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/reporter/MetricReporter.java @@ -24,7 +24,7 @@ import org.apache.flink.metrics.MetricGroup; /** * Reporters are used to export {@link Metric Metrics} to an external backend. - * + * * <p>Reporters are instantiated via reflection and must be public, non-abstract, and have a * public no-argument constructor. */ @@ -37,7 +37,7 @@ public interface MetricReporter { /** * Configures this reporter. Since reporters are instantiated generically and hence parameter-less, * this method is the place where the reporters set their basic fields based on configuration values. - * + * * <p>This method is always called first on a newly instantiated reporter. * * @param config A properties object that contains all parameters set for this reporter. http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/util/TestMeter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/util/TestMeter.java b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/util/TestMeter.java index b44b996..b1ec3a3 100644 --- a/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/util/TestMeter.java +++ b/flink-metrics/flink-metrics-core/src/main/java/org/apache/flink/metrics/util/TestMeter.java @@ -20,6 +20,9 @@ package org.apache.flink.metrics.util; import org.apache.flink.metrics.Meter; +/** + * A dummy {@link Meter} implementation. + */ public class TestMeter implements Meter { @Override http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-core/src/test/java/org/apache/flink/metrics/MeterViewTest.java ---------------------------------------------------------------------- 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 8ba298f..a7a63b0 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 @@ -15,12 +15,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.metrics; import org.junit.Test; import static org.junit.Assert.assertEquals; +/** + * Tests for the MeterView. + */ public class MeterViewTest { @Test public void testGetCount() { http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DCounter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DCounter.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DCounter.java index 58abbd6..e187efb 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DCounter.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DCounter.java @@ -23,8 +23,8 @@ import org.apache.flink.metrics.Counter; import java.util.List; /** - * Mapping of counter between Flink and Datadog - * */ + * Mapping of counter between Flink and Datadog. + */ public class DCounter extends DMetric { private final Counter counter; @@ -35,8 +35,8 @@ public class DCounter extends DMetric { /** * Visibility of this method must not be changed - * since we deliberately not map it to json object in a Datadog-defined format - * */ + * since we deliberately not map it to json object in a Datadog-defined format. + */ @Override public Number getMetricValue() { return counter.getCount(); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DGauge.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DGauge.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DGauge.java index 8deb117..ba97d59 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DGauge.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DGauge.java @@ -18,14 +18,13 @@ package org.apache.flink.metrics.datadog; - import org.apache.flink.metrics.Gauge; import java.util.List; /** - * Mapping of gauge between Flink and Datadog - * */ + * Mapping of gauge between Flink and Datadog. + */ public class DGauge extends DMetric { private final Gauge<Number> gauge; @@ -36,8 +35,8 @@ public class DGauge extends DMetric { /** * Visibility of this method must not be changed - * since we deliberately not map it to json object in a Datadog-defined format - * */ + * since we deliberately not map it to json object in a Datadog-defined format. + */ @Override public Number getMetricValue() { return gauge.getValue(); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMeter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMeter.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMeter.java index 181a00c..68c61cf 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMeter.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMeter.java @@ -23,10 +23,10 @@ import org.apache.flink.metrics.Meter; import java.util.List; /** - * Mapping of meter between Flink and Datadog + * Mapping of meter between Flink and Datadog. * - * Only consider rate of the meter, due to Datadog HTTP API's limited support of meter - * */ + * <p>Only consider rate of the meter, due to Datadog HTTP API's limited support of meter + */ public class DMeter extends DMetric { private final Meter meter; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMetric.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMetric.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMetric.java index 3f9d6ff..e55a9f0 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMetric.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DMetric.java @@ -25,16 +25,16 @@ import java.util.ArrayList; import java.util.List; /** - * Abstract metric of Datadog for serialization - * */ + * Abstract metric of Datadog for serialization. + */ @JsonInclude(JsonInclude.Include.NON_NULL) public abstract class DMetric { private static final long MILLIS_TO_SEC = 1000L; /** * Names of metric/type/tags field and their getters must not be changed - * since they are mapped to json objects in a Datadog-defined format - * */ + * since they are mapped to json objects in a Datadog-defined format. + */ private final String metric; // Metric name private final MetricType type; private final String host; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DSeries.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DSeries.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DSeries.java index fb0bb09..54d907c 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DSeries.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DSeries.java @@ -22,13 +22,13 @@ import java.util.ArrayList; import java.util.List; /** - * Json serialization between Flink and Datadog - **/ + * Json serialization between Flink and Datadog. + */ public class DSeries { /** * Names of series field and its getters must not be changed - * since they are mapped to json objects in a Datadog-defined format - * */ + * since they are mapped to json objects in a Datadog-defined format. + */ private List<DMetric> series; public DSeries() { http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpClient.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpClient.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpClient.java index c94a2b7..086966b 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpClient.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpClient.java @@ -23,15 +23,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; -import okhttp3.Response; import okhttp3.RequestBody; +import okhttp3.Response; import java.io.IOException; import java.util.concurrent.TimeUnit; /** - * Http client talking to Datadog - * */ + * Http client talking to Datadog. + */ public class DatadogHttpClient{ private static final String SERIES_URL_FORMAT = "https://app.datadoghq.com/api/v1/series?api_key=%s"; private static final String VALIDATE_URL_FORMAT = "https://app.datadoghq.com/api/v1/validate?api_key=%s"; @@ -69,7 +69,7 @@ public class DatadogHttpClient{ throw new IllegalArgumentException( String.format("API key: %s is invalid", apiKey)); } - } catch(IOException e) { + } catch (IOException e) { throw new IllegalStateException("Failed contacting Datadog to validate API key", e); } } http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporter.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporter.java index fcb5c4b..a47b2bf 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporter.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/DatadogHttpReporter.java @@ -20,13 +20,14 @@ package org.apache.flink.metrics.datadog; import org.apache.flink.metrics.Counter; import org.apache.flink.metrics.Gauge; -import org.apache.flink.metrics.Meter; import org.apache.flink.metrics.Histogram; +import org.apache.flink.metrics.Meter; import org.apache.flink.metrics.Metric; import org.apache.flink.metrics.MetricConfig; import org.apache.flink.metrics.MetricGroup; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.Scheduled; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,12 +37,11 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; - /** - * Metric Reporter for Datadog + * Metric Reporter for Datadog. * - * Variables in metrics scope will be sent to Datadog as tags - * */ + * <p>Variables in metrics scope will be sent to Datadog as tags. + */ public class DatadogHttpReporter implements MetricReporter, Scheduled { private static final Logger LOGGER = LoggerFactory.getLogger(DatadogHttpReporter.class); private static final String HOST_VARIABLE = "<host>"; @@ -146,20 +146,20 @@ public class DatadogHttpReporter implements MetricReporter, Scheduled { } /** - * Get config tags from config 'metrics.reporter.dghttp.tags' - * */ + * Get config tags from config 'metrics.reporter.dghttp.tags'. + */ private List<String> getTagsFromConfig(String str) { return Arrays.asList(str.split(",")); } /** - * Get tags from MetricGroup#getAllVariables(), excluding 'host' - * */ + * Get tags from MetricGroup#getAllVariables(), excluding 'host'. + */ private List<String> getTagsFromMetricGroup(MetricGroup metricGroup) { List<String> tags = new ArrayList<>(); for (Map.Entry<String, String> entry: metricGroup.getAllVariables().entrySet()) { - if(!entry.getKey().equals(HOST_VARIABLE)) { + if (!entry.getKey().equals(HOST_VARIABLE)) { tags.add(getVariableName(entry.getKey()) + ":" + entry.getValue()); } } @@ -167,23 +167,20 @@ public class DatadogHttpReporter implements MetricReporter, Scheduled { return tags; } - /** - * Get host from MetricGroup#getAllVariables() if it exists; returns Null otherwise - * */ private String getHostFromMetricGroup(MetricGroup metricGroup) { return metricGroup.getAllVariables().get(HOST_VARIABLE); } /** - * Given "<xxx>", return "xxx" - * */ + * Removes leading and trailing angle brackets. + */ private String getVariableName(String str) { return str.substring(1, str.length() - 1); } /** - * Compact metrics in batch, serialize them, and send to Datadog via HTTP - * */ + * Compact metrics in batch, serialize them, and send to Datadog via HTTP. + */ static class DatadogHttpRequest { private final DSeries series; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/MetricType.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/MetricType.java b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/MetricType.java index 97f9b29..9681514 100644 --- a/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/MetricType.java +++ b/flink-metrics/flink-metrics-datadog/src/main/java/org/apache/flink/metrics/datadog/MetricType.java @@ -19,12 +19,12 @@ package org.apache.flink.metrics.datadog; /** - * Metric types supported by Datadog - * */ + * Metric types supported by Datadog. + */ public enum MetricType { /** * Names of 'gauge' and 'counter' must not be changed - * since they are mapped to json objects in a Datadog-defined format - * */ + * since they are mapped to json objects in a Datadog-defined format. + */ gauge, counter } http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-datadog/src/test/java/org/apache/flink/metrics/datadog/DatadogHttpClientTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-datadog/src/test/java/org/apache/flink/metrics/datadog/DatadogHttpClientTest.java b/flink-metrics/flink-metrics-datadog/src/test/java/org/apache/flink/metrics/datadog/DatadogHttpClientTest.java index bda5d47..0680252 100644 --- a/flink-metrics/flink-metrics-datadog/src/test/java/org/apache/flink/metrics/datadog/DatadogHttpClientTest.java +++ b/flink-metrics/flink-metrics-datadog/src/test/java/org/apache/flink/metrics/datadog/DatadogHttpClientTest.java @@ -18,13 +18,13 @@ package org.apache.flink.metrics.datadog; -import com.fasterxml.jackson.core.JsonProcessingException; import org.apache.flink.metrics.Counter; import org.apache.flink.metrics.Gauge; import org.apache.flink.metrics.Meter; + +import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.Before; import org.junit.Test; -import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; @@ -35,165 +35,164 @@ import java.util.List; import static org.junit.Assert.assertEquals; -@RunWith(Enclosed.class) +/** + * Tests for the DatadogHttpClient. + */ +@RunWith(PowerMockRunner.class) +@PrepareForTest(DMetric.class) public class DatadogHttpClientTest { - public static class TestApiKey { - @Test(expected = IllegalArgumentException.class) - public void testClientWithEmptyKey() { - new DatadogHttpClient(""); - } - - @Test(expected = IllegalArgumentException.class) - public void testClientWithNullKey() { - new DatadogHttpClient(null); - } + + private static List<String> tags = Arrays.asList("tag1", "tag2"); + + private static final long MOCKED_SYSTEM_MILLIS = 123L; + + @Before + public void mockSystemMillis() { + PowerMockito.mockStatic(DMetric.class); + PowerMockito.when(DMetric.getUnixEpochTimestamp()).thenReturn(MOCKED_SYSTEM_MILLIS); + } + + @Test(expected = IllegalArgumentException.class) + public void testClientWithEmptyKey() { + new DatadogHttpClient(""); } - @RunWith(PowerMockRunner.class) - @PrepareForTest(DMetric.class) - public static class TestSerialization { - private static List<String> tags = Arrays.asList("tag1", "tag2"); - - private static final long MOCKED_SYSTEM_MILLIS = 123L; - - @Before - public void mockSystemMillis() { - PowerMockito.mockStatic(DMetric.class); - PowerMockito.when(DMetric.getUnixEpochTimestamp()).thenReturn(MOCKED_SYSTEM_MILLIS); - } - - @Test - public void serializeGauge() throws JsonProcessingException { - - DGauge g = new DGauge(new Gauge<Number>() { - @Override - public Number getValue() { - return 1; - } - }, "testCounter", "localhost", tags); - - assertEquals( - "{\"metric\":\"testCounter\",\"type\":\"gauge\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", - DatadogHttpClient.serialize(g)); - } - - @Test - public void serializeGaugeWithoutHost() throws JsonProcessingException { - - DGauge g = new DGauge(new Gauge<Number>() { - @Override - public Number getValue() { - return 1; - } - }, "testCounter", null, tags); - - assertEquals( - "{\"metric\":\"testCounter\",\"type\":\"gauge\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", - DatadogHttpClient.serialize(g)); - } - - @Test - public void serializeCounter() throws JsonProcessingException { - DCounter c = new DCounter(new Counter() { - @Override - public void inc() {} - - @Override - public void inc(long n) {} - - @Override - public void dec() {} - - @Override - public void dec(long n) {} - - @Override - public long getCount() { - return 1; - } - }, "testCounter", "localhost", tags); - - assertEquals( - "{\"metric\":\"testCounter\",\"type\":\"counter\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", - DatadogHttpClient.serialize(c)); - } - - @Test - public void serializeCounterWithoutHost() throws JsonProcessingException { - DCounter c = new DCounter(new Counter() { - @Override - public void inc() {} - - @Override - public void inc(long n) {} - - @Override - public void dec() {} - - @Override - public void dec(long n) {} - - @Override - public long getCount() { - return 1; - } - }, "testCounter", null, tags); - - assertEquals( - "{\"metric\":\"testCounter\",\"type\":\"counter\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", - DatadogHttpClient.serialize(c)); - } - - @Test - public void serializeMeter() throws JsonProcessingException { - - DMeter m = new DMeter(new Meter() { - @Override - public void markEvent() {} - - @Override - public void markEvent(long n) {} - - @Override - public double getRate() { - return 1; - } - - @Override - public long getCount() { - return 0; - } - }, "testMeter","localhost", tags); - - assertEquals( - "{\"metric\":\"testMeter\",\"type\":\"gauge\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1.0]]}", - DatadogHttpClient.serialize(m)); - } - - @Test - public void serializeMeterWithoutHost() throws JsonProcessingException { - - DMeter m = new DMeter(new Meter() { - @Override - public void markEvent() {} - - @Override - public void markEvent(long n) {} - - @Override - public double getRate() { - return 1; - } - - @Override - public long getCount() { - return 0; - } - }, "testMeter", null, tags); - - assertEquals( - "{\"metric\":\"testMeter\",\"type\":\"gauge\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1.0]]}", - DatadogHttpClient.serialize(m)); - } + @Test(expected = IllegalArgumentException.class) + public void testClientWithNullKey() { + new DatadogHttpClient(null); + } + + @Test + public void serializeGauge() throws JsonProcessingException { + + DGauge g = new DGauge(new Gauge<Number>() { + @Override + public Number getValue() { + return 1; + } + }, "testCounter", "localhost", tags); + + assertEquals( + "{\"metric\":\"testCounter\",\"type\":\"gauge\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", + DatadogHttpClient.serialize(g)); + } + + @Test + public void serializeGaugeWithoutHost() throws JsonProcessingException { + + DGauge g = new DGauge(new Gauge<Number>() { + @Override + public Number getValue() { + return 1; + } + }, "testCounter", null, tags); + + assertEquals( + "{\"metric\":\"testCounter\",\"type\":\"gauge\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", + DatadogHttpClient.serialize(g)); + } + + @Test + public void serializeCounter() throws JsonProcessingException { + DCounter c = new DCounter(new Counter() { + @Override + public void inc() {} + + @Override + public void inc(long n) {} + + @Override + public void dec() {} + + @Override + public void dec(long n) {} + + @Override + public long getCount() { + return 1; + } + }, "testCounter", "localhost", tags); + + assertEquals( + "{\"metric\":\"testCounter\",\"type\":\"counter\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", + DatadogHttpClient.serialize(c)); + } + + @Test + public void serializeCounterWithoutHost() throws JsonProcessingException { + DCounter c = new DCounter(new Counter() { + @Override + public void inc() {} + + @Override + public void inc(long n) {} + + @Override + public void dec() {} + + @Override + public void dec(long n) {} + + @Override + public long getCount() { + return 1; + } + }, "testCounter", null, tags); + + assertEquals( + "{\"metric\":\"testCounter\",\"type\":\"counter\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1]]}", + DatadogHttpClient.serialize(c)); + } + + @Test + public void serializeMeter() throws JsonProcessingException { + + DMeter m = new DMeter(new Meter() { + @Override + public void markEvent() {} + + @Override + public void markEvent(long n) {} + + @Override + public double getRate() { + return 1; + } + + @Override + public long getCount() { + return 0; + } + }, "testMeter", "localhost", tags); + + assertEquals( + "{\"metric\":\"testMeter\",\"type\":\"gauge\",\"host\":\"localhost\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1.0]]}", + DatadogHttpClient.serialize(m)); + } + + @Test + public void serializeMeterWithoutHost() throws JsonProcessingException { + + DMeter m = new DMeter(new Meter() { + @Override + public void markEvent() {} + + @Override + public void markEvent(long n) {} + + @Override + public double getRate() { + return 1; + } + + @Override + public long getCount() { + return 0; + } + }, "testMeter", null, tags); + + assertEquals( + "{\"metric\":\"testMeter\",\"type\":\"gauge\",\"tags\":[\"tag1\",\"tag2\"],\"points\":[[123,1.0]]}", + DatadogHttpClient.serialize(m)); } } http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/ScheduledDropwizardReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/ScheduledDropwizardReporter.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/ScheduledDropwizardReporter.java index 380abc4..e3184da 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/ScheduledDropwizardReporter.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/ScheduledDropwizardReporter.java @@ -18,9 +18,6 @@ package org.apache.flink.dropwizard; -import com.codahale.metrics.MetricRegistry; -import com.codahale.metrics.Reporter; -import com.codahale.metrics.ScheduledReporter; import org.apache.flink.annotation.PublicEvolving; import org.apache.flink.annotation.VisibleForTesting; import org.apache.flink.dropwizard.metrics.DropwizardHistogramWrapper; @@ -39,6 +36,10 @@ import org.apache.flink.metrics.MetricConfig; import org.apache.flink.metrics.MetricGroup; import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.metrics.reporter.Scheduled; + +import com.codahale.metrics.MetricRegistry; +import com.codahale.metrics.Reporter; +import com.codahale.metrics.ScheduledReporter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -161,7 +162,7 @@ public abstract class ScheduledDropwizardReporter implements MetricReporter, Sch public void notifyOfRemovedMetric(Metric metric, String metricName, MetricGroup group) { synchronized (this) { String fullName; - + if (metric instanceof Counter) { fullName = counters.remove(metric); } else if (metric instanceof Gauge) { @@ -173,7 +174,7 @@ public abstract class ScheduledDropwizardReporter implements MetricReporter, Sch } else { fullName = null; } - + if (fullName != null) { registry.remove(fullName); } http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/DropwizardHistogramStatistics.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/DropwizardHistogramStatistics.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/DropwizardHistogramStatistics.java index 6f4eab2..8acf401 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/DropwizardHistogramStatistics.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/DropwizardHistogramStatistics.java @@ -18,9 +18,10 @@ package org.apache.flink.dropwizard.metrics; -import com.codahale.metrics.Snapshot; import org.apache.flink.metrics.HistogramStatistics; +import com.codahale.metrics.Snapshot; + /** * Dropwizard histogram statistics implementation returned by {@link DropwizardHistogramWrapper}. * The statistics class wraps a {@link Snapshot} instance and forwards the method calls accordingly. http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkCounterWrapper.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkCounterWrapper.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkCounterWrapper.java index a44c3f5..b4ea8dc 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkCounterWrapper.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkCounterWrapper.java @@ -15,10 +15,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.dropwizard.metrics; import org.apache.flink.metrics.Counter; +/** + * A wrapper that allows a Flink counter to be used as a DropWizard counter. + */ public class FlinkCounterWrapper extends com.codahale.metrics.Counter { private final Counter counter; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkGaugeWrapper.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkGaugeWrapper.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkGaugeWrapper.java index 058ecad..0d53a9e 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkGaugeWrapper.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkGaugeWrapper.java @@ -20,8 +20,11 @@ package org.apache.flink.dropwizard.metrics; import org.apache.flink.metrics.Gauge; +/** + * A wrapper that allows a Flink gauge to be used as a DropWizard gauge. + */ public class FlinkGaugeWrapper<T> implements com.codahale.metrics.Gauge<T> { - + private final Gauge<T> gauge; public FlinkGaugeWrapper(Gauge<T> gauge) { http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkHistogramWrapper.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkHistogramWrapper.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkHistogramWrapper.java index 8bd8078..d2167d0 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkHistogramWrapper.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkHistogramWrapper.java @@ -18,9 +18,10 @@ package org.apache.flink.dropwizard.metrics; -import com.codahale.metrics.Snapshot; import org.apache.flink.metrics.Histogram; +import com.codahale.metrics.Snapshot; + /** * Wrapper to use a Flink {@link Histogram} as a Dropwizard {@link com.codahale.metrics.Histogram}. * This is necessary to report Flink's histograms via the Dropwizard http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapper.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapper.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapper.java index d0b8483..213c21c 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapper.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapper.java @@ -18,9 +18,10 @@ package org.apache.flink.dropwizard.metrics; -import com.codahale.metrics.Clock; import org.apache.flink.metrics.Meter; +import com.codahale.metrics.Clock; + /** * Wrapper to use a Flink {@link Meter} as a Dropwizard {@link com.codahale.metrics.Meter}. * This is necessary to report Flink's meters via the Dropwizard http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/HistogramStatisticsWrapper.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/HistogramStatisticsWrapper.java b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/HistogramStatisticsWrapper.java index 6d3a69b..7b1ff74 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/HistogramStatisticsWrapper.java +++ b/flink-metrics/flink-metrics-dropwizard/src/main/java/org/apache/flink/dropwizard/metrics/HistogramStatisticsWrapper.java @@ -18,9 +18,10 @@ package org.apache.flink.dropwizard.metrics; -import com.codahale.metrics.Snapshot; import org.apache.flink.metrics.HistogramStatistics; +import com.codahale.metrics.Snapshot; + import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; @@ -39,6 +40,7 @@ class HistogramStatisticsWrapper extends Snapshot { HistogramStatisticsWrapper(HistogramStatistics histogramStatistics) { this.histogramStatistics = histogramStatistics; } + @Override public double getValue(double quantile) { return histogramStatistics.getQuantile(quantile); @@ -76,7 +78,7 @@ class HistogramStatisticsWrapper extends Snapshot { @Override public void dump(OutputStream output) { - try(PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(output, UTF_8))){ + try (PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(output, UTF_8))) { for (Long value : histogramStatistics.getValues()) { printWriter.printf("%d%n", value); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/ScheduledDropwizardReporterTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/ScheduledDropwizardReporterTest.java b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/ScheduledDropwizardReporterTest.java index 73e7f0b..85769c2 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/ScheduledDropwizardReporterTest.java +++ b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/ScheduledDropwizardReporterTest.java @@ -18,7 +18,6 @@ package org.apache.flink.dropwizard; -import com.codahale.metrics.ScheduledReporter; import org.apache.flink.api.common.JobID; import org.apache.flink.configuration.ConfigConstants; import org.apache.flink.configuration.Configuration; @@ -40,6 +39,8 @@ import org.apache.flink.runtime.metrics.groups.TaskManagerJobMetricGroup; import org.apache.flink.runtime.metrics.groups.TaskManagerMetricGroup; import org.apache.flink.runtime.metrics.groups.TaskMetricGroup; import org.apache.flink.util.AbstractID; + +import com.codahale.metrics.ScheduledReporter; import org.junit.Test; import java.lang.reflect.InvocationTargetException; @@ -49,6 +50,9 @@ import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +/** + * Tests for the ScheduledDropwizardReporter. + */ public class ScheduledDropwizardReporterTest { @Test @@ -199,7 +203,6 @@ public class ScheduledDropwizardReporterTest { assertEquals(1, rep.getGauges().size()); assertEquals(1, rep.registry.getGauges().size()); - rep.notifyOfRemovedMetric(c, "counter", mp); assertEquals(0, rep.getCounters().size()); assertEquals(0, rep.registry.getCounters().size()); @@ -217,6 +220,9 @@ public class ScheduledDropwizardReporterTest { assertEquals(0, rep.registry.getGauges().size()); } + /** + * Dummy test reporter. + */ public static class TestingScheduledDropwizardReporter extends ScheduledDropwizardReporter { @Override http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardFlinkHistogramWrapperTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardFlinkHistogramWrapperTest.java b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardFlinkHistogramWrapperTest.java index 8f7796c..63765ae 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardFlinkHistogramWrapperTest.java +++ b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardFlinkHistogramWrapperTest.java @@ -18,14 +18,6 @@ package org.apache.flink.dropwizard.metrics; -import com.codahale.metrics.Counter; -import com.codahale.metrics.Gauge; -import com.codahale.metrics.Meter; -import com.codahale.metrics.MetricFilter; -import com.codahale.metrics.ScheduledReporter; -import com.codahale.metrics.SlidingWindowReservoir; -import com.codahale.metrics.Snapshot; -import com.codahale.metrics.Timer; import org.apache.flink.configuration.ConfigConstants; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.MetricOptions; @@ -36,6 +28,15 @@ import org.apache.flink.runtime.metrics.MetricRegistry; import org.apache.flink.runtime.metrics.MetricRegistryConfiguration; import org.apache.flink.runtime.metrics.groups.TaskManagerMetricGroup; import org.apache.flink.util.TestLogger; + +import com.codahale.metrics.Counter; +import com.codahale.metrics.Gauge; +import com.codahale.metrics.Meter; +import com.codahale.metrics.MetricFilter; +import com.codahale.metrics.ScheduledReporter; +import com.codahale.metrics.SlidingWindowReservoir; +import com.codahale.metrics.Snapshot; +import com.codahale.metrics.Timer; import org.junit.Test; import java.util.ArrayList; @@ -52,6 +53,9 @@ import java.util.concurrent.TimeoutException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +/** + * Tests for the DropwizardFlinkHistogramWrapper. + */ public class DropwizardFlinkHistogramWrapperTest extends TestLogger { /** @@ -72,7 +76,7 @@ public class DropwizardFlinkHistogramWrapperTest extends TestLogger { } assertEquals(size, histogramWrapper.getStatistics().size()); - assertEquals((size - 1)/2.0, histogramWrapper.getStatistics().getQuantile(0.5), 0.001); + assertEquals((size - 1) / 2.0, histogramWrapper.getStatistics().getQuantile(0.5), 0.001); for (int i = size; i < 2 * size; i++) { histogramWrapper.update(i); @@ -83,7 +87,7 @@ public class DropwizardFlinkHistogramWrapperTest extends TestLogger { } assertEquals(size, histogramWrapper.getStatistics().size()); - assertEquals(size + (size - 1)/2.0, histogramWrapper.getStatistics().getQuantile(0.5), 0.001); + assertEquals(size + (size - 1) / 2.0, histogramWrapper.getStatistics().getQuantile(0.5), 0.001); } /** @@ -153,6 +157,9 @@ public class DropwizardFlinkHistogramWrapperTest extends TestLogger { } } + /** + * Test reporter. + */ public static class TestingReporter extends ScheduledDropwizardReporter { TestingScheduledReporter scheduledReporter = null; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardMeterWrapperTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardMeterWrapperTest.java b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardMeterWrapperTest.java index 0b8fa52..baab773 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardMeterWrapperTest.java +++ b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/DropwizardMeterWrapperTest.java @@ -25,6 +25,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +/** + * Tests for the DropwizardMeterWrapper. + */ public class DropwizardMeterWrapperTest { @Test http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapperTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapperTest.java b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapperTest.java index b6389c5..2298e0f 100644 --- a/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapperTest.java +++ b/flink-metrics/flink-metrics-dropwizard/src/test/java/org/apache/flink/dropwizard/metrics/FlinkMeterWrapperTest.java @@ -20,12 +20,16 @@ package org.apache.flink.dropwizard.metrics; import org.apache.flink.metrics.Meter; import org.apache.flink.metrics.util.TestMeter; + import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +/** + * Tests for the FlinkMeterWrapper. + */ public class FlinkMeterWrapperTest { private static final double DELTA = 0.0001; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-ganglia/src/main/java/org/apache/flink/metrics/ganglia/GangliaReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-ganglia/src/main/java/org/apache/flink/metrics/ganglia/GangliaReporter.java b/flink-metrics/flink-metrics-ganglia/src/main/java/org/apache/flink/metrics/ganglia/GangliaReporter.java index de9da74..8719901 100644 --- a/flink-metrics/flink-metrics-ganglia/src/main/java/org/apache/flink/metrics/ganglia/GangliaReporter.java +++ b/flink-metrics/flink-metrics-ganglia/src/main/java/org/apache/flink/metrics/ganglia/GangliaReporter.java @@ -18,20 +18,23 @@ package org.apache.flink.metrics.ganglia; -import com.codahale.metrics.ScheduledReporter; - -import info.ganglia.gmetric4j.gmetric.GMetric; - import org.apache.flink.annotation.PublicEvolving; import org.apache.flink.dropwizard.ScheduledDropwizardReporter; import org.apache.flink.metrics.MetricConfig; +import com.codahale.metrics.ScheduledReporter; +import info.ganglia.gmetric4j.gmetric.GMetric; + import java.io.IOException; import java.util.concurrent.TimeUnit; +/** + * This class acts as a factory for the {@link com.codahale.metrics.ganglia.GangliaReporter} and allows using it as a + * Flink reporter. + */ @PublicEvolving public class GangliaReporter extends ScheduledDropwizardReporter { - + public static final String ARG_DMAX = "dmax"; public static final String ARG_TMAX = "tmax"; public static final String ARG_TTL = "ttl"; @@ -72,7 +75,7 @@ public class GangliaReporter extends ScheduledDropwizardReporter { builder.withTMax(tMax); log.info("Configured GangliaReporter with {host:{}, port:{}, dmax:{}, tmax:{}, ttl:{}, addressingMode:{}}", - host, port, dMax, tMax, ttl, addressingMode); + host, port, dMax, tMax, ttl, addressingMode); return builder.build(gMetric); } catch (IOException e) { throw new RuntimeException("Error while instantiating GangliaReporter.", e); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporter.java b/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporter.java index 47a9d87..3338af2 100644 --- a/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporter.java +++ b/flink-metrics/flink-metrics-graphite/src/main/java/org/apache/flink/metrics/graphite/GraphiteReporter.java @@ -18,16 +18,20 @@ package org.apache.flink.metrics.graphite; -import com.codahale.metrics.ScheduledReporter; -import com.codahale.metrics.graphite.Graphite; - -import com.codahale.metrics.graphite.GraphiteUDP; import org.apache.flink.annotation.PublicEvolving; import org.apache.flink.dropwizard.ScheduledDropwizardReporter; import org.apache.flink.metrics.MetricConfig; +import com.codahale.metrics.ScheduledReporter; +import com.codahale.metrics.graphite.Graphite; +import com.codahale.metrics.graphite.GraphiteUDP; + import java.util.concurrent.TimeUnit; +/** + * This class acts as a factory for the {@link com.codahale.metrics.graphite.GraphiteReporter} and allows using it as a + * Flink reporter. + */ @PublicEvolving public class GraphiteReporter extends ScheduledDropwizardReporter { @@ -78,7 +82,7 @@ public class GraphiteReporter extends ScheduledDropwizardReporter { log.info("Configured GraphiteReporter with {host:{}, port:{}, protocol:{}}", host, port, prot); switch(prot) { case UDP: - return builder.build(new GraphiteUDP(host, port)); + return builder.build(new GraphiteUDP(host, port)); case TCP: default: return builder.build(new Graphite(host, port)); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporter.java b/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporter.java index f0c0fcb..1cc7d38 100644 --- a/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporter.java +++ b/flink-metrics/flink-metrics-jmx/src/main/java/org/apache/flink/metrics/jmx/JMXReporter.java @@ -30,6 +30,7 @@ import org.apache.flink.metrics.reporter.MetricReporter; import org.apache.flink.runtime.metrics.groups.AbstractMetricGroup; import org.apache.flink.runtime.metrics.groups.FrontMetricGroup; import org.apache.flink.util.NetUtils; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +43,7 @@ import javax.management.ObjectName; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; + import java.io.IOException; import java.lang.management.ManagementFactory; import java.net.MalformedURLException; @@ -57,7 +59,7 @@ import java.util.Map; /** * {@link MetricReporter} that exports {@link Metric Metrics} via JMX. * - * Largely based on the JmxReporter class of the dropwizard metrics library + * <p>Largely based on the JmxReporter class of the dropwizard metrics library * https://github.com/dropwizard/metrics/blob/master/metrics-core/src/main/java/io/dropwizard/metrics/JmxReporter.java */ public class JMXReporter implements MetricReporter { @@ -77,18 +79,15 @@ public class JMXReporter implements MetricReporter { // ------------------------------------------------------------------------ - /** The server where the management beans are registered and deregistered */ + /** The server where the management beans are registered and deregistered. */ private final MBeanServer mBeanServer; - /** The names under which the registered metrics have been added to the MBeanServer */ + /** The names under which the registered metrics have been added to the MBeanServer. */ private final Map<Metric, ObjectName> registeredMetrics; /** The server to which JMX clients connect to. ALlows for better control over port usage. */ private JMXServer jmxServer; - /** - * Creates a new JMXReporter - */ public JMXReporter() { this.mBeanServer = ManagementFactory.getPlatformMBeanServer(); this.registeredMetrics = new HashMap<>(); @@ -140,7 +139,7 @@ public class JMXReporter implements MetricReporter { } } } - + public int getPort() { if (jmxServer == null) { throw new NullPointerException("No server was opened. Did you specify a port?"); @@ -220,7 +219,7 @@ public class JMXReporter implements MetricReporter { } // ------------------------------------------------------------------------ - // Utilities + // Utilities // ------------------------------------------------------------------------ static Hashtable<String, String> generateJmxTable(Map<String, String> variables) { @@ -239,9 +238,9 @@ public class JMXReporter implements MetricReporter { * Lightweight method to replace unsupported characters. * If the string does not contain any unsupported characters, this method creates no * new string (and in fact no new objects at all). - * + * * <p>Replacements: - * + * * <ul> * <li>{@code "} is removed</li> * <li>{@code space} is replaced by {@code _} (underscore)</li> @@ -252,7 +251,7 @@ public class JMXReporter implements MetricReporter { char[] chars = null; final int strLen = str.length(); int pos = 0; - + for (int i = 0; i < strLen; i++) { final char c = str.charAt(i); switch (c) { @@ -271,7 +270,7 @@ public class JMXReporter implements MetricReporter { } chars[pos++] = '_'; break; - + case ',': case '=': case ';': @@ -292,18 +291,24 @@ public class JMXReporter implements MetricReporter { pos++; } } - + return chars == null ? str : new String(chars, 0, pos); } // ------------------------------------------------------------------------ - // Interfaces and base classes for JMX beans + // Interfaces and base classes for JMX beans // ------------------------------------------------------------------------ + /** + * The common MBean interface for all metrics. + */ public interface MetricMBean {} private abstract static class AbstractBean implements MetricMBean {} + /** + * The MBean interface for an exposed counter. + */ public interface JmxCounterMBean extends MetricMBean { long getCount(); } @@ -321,6 +326,9 @@ public class JMXReporter implements MetricReporter { } } + /** + * The MBean interface for an exposed gauge. + */ public interface JmxGaugeMBean extends MetricMBean { Object getValue(); } @@ -339,6 +347,9 @@ public class JMXReporter implements MetricReporter { } } + /** + * The MBean interface for an exposed histogram. + */ public interface JmxHistogramMBean extends MetricMBean { long getCount(); @@ -427,6 +438,9 @@ public class JMXReporter implements MetricReporter { } } + /** + * The MBean interface for an exposed meter. + */ public interface JmxMeterMBean extends MetricMBean { double getRate(); @@ -455,9 +469,9 @@ public class JMXReporter implements MetricReporter { /** * JMX Server implementation that JMX clients can connect to. * - * Heavily based on j256 simplejmx project + * <p>Heavily based on j256 simplejmx project * - * https://github.com/j256/simplejmx/blob/master/src/main/java/com/j256/simplejmx/server/JmxServer.java + * <p>https://github.com/j256/simplejmx/blob/master/src/main/java/com/j256/simplejmx/server/JmxServer.java */ private static class JMXServer { private Registry rmiRegistry; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/metrics/jmx/JMXReporterTest.java ---------------------------------------------------------------------- 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 85ab897..f10769a 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 @@ -22,8 +22,8 @@ import org.apache.flink.configuration.ConfigConstants; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.MetricOptions; import org.apache.flink.metrics.Gauge; -import org.apache.flink.metrics.util.TestMeter; import org.apache.flink.metrics.reporter.MetricReporter; +import org.apache.flink.metrics.util.TestMeter; import org.apache.flink.runtime.metrics.MetricRegistry; import org.apache.flink.runtime.metrics.MetricRegistryConfiguration; import org.apache.flink.runtime.metrics.groups.FrontMetricGroup; @@ -31,6 +31,7 @@ import org.apache.flink.runtime.metrics.groups.TaskManagerMetricGroup; import org.apache.flink.runtime.metrics.util.TestReporter; import org.apache.flink.runtime.metrics.util.TestingHistogram; import org.apache.flink.util.TestLogger; + import org.junit.Test; import javax.management.MBeanAttributeInfo; @@ -41,6 +42,7 @@ import javax.management.ObjectName; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; + import java.lang.management.ManagementFactory; import java.util.HashMap; import java.util.Hashtable; @@ -51,6 +53,9 @@ import static org.apache.flink.metrics.jmx.JMXReporter.JMX_DOMAIN_PREFIX; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +/** + * Tests for the JMXReporter. + */ public class JMXReporterTest extends TestLogger { @Test @@ -140,7 +145,7 @@ public class JMXReporterTest extends TestLogger { rep1.notifyOfRemovedMetric(g1, "rep1", null); rep1.notifyOfRemovedMetric(g2, "rep2", null); - + mg.close(); reg.shutdown(); } @@ -194,7 +199,7 @@ public class JMXReporterTest extends TestLogger { ObjectName objectName1 = new ObjectName(JMX_DOMAIN_PREFIX + "taskmanager.rep1", JMXReporter.generateJmxTable(mg.getAllVariables())); ObjectName objectName2 = new ObjectName(JMX_DOMAIN_PREFIX + "taskmanager.rep2", JMXReporter.generateJmxTable(mg.getAllVariables())); - JMXServiceURL url1 = new JMXServiceURL("service:jmx:rmi://localhost:" + ((JMXReporter)rep1).getPort() + "/jndi/rmi://localhost:" + ((JMXReporter)rep1).getPort() + "/jmxrmi"); + JMXServiceURL url1 = new JMXServiceURL("service:jmx:rmi://localhost:" + ((JMXReporter) rep1).getPort() + "/jndi/rmi://localhost:" + ((JMXReporter) rep1).getPort() + "/jmxrmi"); JMXConnector jmxCon1 = JMXConnectorFactory.connect(url1); MBeanServerConnection mCon1 = jmxCon1.getMBeanServerConnection(); @@ -203,7 +208,7 @@ public class JMXReporterTest extends TestLogger { jmxCon1.close(); - JMXServiceURL url2 = new JMXServiceURL("service:jmx:rmi://localhost:" + ((JMXReporter)rep2).getPort() + "/jndi/rmi://localhost:" + ((JMXReporter)rep2).getPort() + "/jmxrmi"); + JMXServiceURL url2 = new JMXServiceURL("service:jmx:rmi://localhost:" + ((JMXReporter) rep2).getPort() + "/jndi/rmi://localhost:" + ((JMXReporter) rep2).getPort() + "/jmxrmi"); JMXConnector jmxCon2 = JMXConnectorFactory.connect(url2); MBeanServerConnection mCon2 = jmxCon2.getMBeanServerConnection(); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/runtime/jobmanager/JMXJobManagerMetricTest.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/runtime/jobmanager/JMXJobManagerMetricTest.java b/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/runtime/jobmanager/JMXJobManagerMetricTest.java index 6d54db3..6b55eeb 100644 --- a/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/runtime/jobmanager/JMXJobManagerMetricTest.java +++ b/flink-metrics/flink-metrics-jmx/src/test/java/org/apache/flink/runtime/jobmanager/JMXJobManagerMetricTest.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.flink.runtime.jobmanager; import org.apache.flink.configuration.ConfigConstants; @@ -29,6 +30,7 @@ import org.apache.flink.runtime.jobgraph.tasks.ExternalizedCheckpointSettings; import org.apache.flink.runtime.jobgraph.tasks.JobCheckpointingSettings; import org.apache.flink.runtime.testingUtils.TestingCluster; import org.apache.flink.runtime.testingUtils.TestingJobManagerMessages; + import org.junit.Assert; import org.junit.Test; import scala.concurrent.Await; @@ -38,6 +40,7 @@ import scala.concurrent.duration.FiniteDuration; import javax.management.MBeanServer; import javax.management.ObjectName; + import java.lang.management.ManagementFactory; import java.util.Collections; import java.util.Set; @@ -45,6 +48,9 @@ import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertEquals; +/** + * Tests to verify JMX reporter functionality on the JobManager. + */ public class JMXJobManagerMetricTest { /** * Tests that metrics registered on the JobManager are actually accessible via JMX. @@ -102,6 +108,9 @@ public class JMXJobManagerMetricTest { } } + /** + * Utility to block/unblock a task. + */ public static class BlockingInvokable extends AbstractInvokable { private static boolean blocking = true; private static final Object lock = new Object(); http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporter.java ---------------------------------------------------------------------- diff --git a/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporter.java b/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporter.java index 113107f..527f9c1 100644 --- a/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporter.java +++ b/flink-metrics/flink-metrics-statsd/src/main/java/org/apache/flink/metrics/statsd/StatsDReporter.java @@ -42,20 +42,19 @@ import java.util.Map; import java.util.NoSuchElementException; /** - * Largely based on the StatsDReporter class by ReadyTalk - * https://github.com/ReadyTalk/metrics-statsd/blob/master/metrics3-statsd/src/main/java/com/readytalk/metrics/StatsDReporter.java + * Largely based on the StatsDReporter class by ReadyTalk. * - * Ported since it was not present in maven central. + * <p>https://github.com/ReadyTalk/metrics-statsd/blob/master/metrics3-statsd/src/main/java/com/readytalk/metrics/StatsDReporter.java + * + * <p>Ported since it was not present in maven central. */ @PublicEvolving public class StatsDReporter extends AbstractReporter implements Scheduled { - + private static final Logger LOG = LoggerFactory.getLogger(StatsDReporter.class); public static final String ARG_HOST = "host"; public static final String ARG_PORT = "port"; -// public static final String ARG_CONVERSION_RATE = "rateConversion"; -// public static final String ARG_CONVERSION_DURATION = "durationConversion"; private boolean closed = false; @@ -73,11 +72,6 @@ public class StatsDReporter extends AbstractReporter implements Scheduled { this.address = new InetSocketAddress(host, port); -// String conversionRate = config.getString(ARG_CONVERSION_RATE, "SECONDS"); -// String conversionDuration = config.getString(ARG_CONVERSION_DURATION, "MILLISECONDS"); -// this.rateFactor = TimeUnit.valueOf(conversionRate).toSeconds(1); -// this.durationFactor = 1.0 / TimeUnit.valueOf(conversionDuration).toNanos(1); - try { this.socket = new DatagramSocket(0); } catch (SocketException e) { @@ -131,7 +125,7 @@ public class StatsDReporter extends AbstractReporter implements Scheduled { } // ------------------------------------------------------------------------ - + private void reportCounter(final String name, final Counter counter) { send(name, String.valueOf(counter.getCount())); } http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/flink-metrics-statsd/src/test/java/org/apache/flink/metrics/statsd/StatsDReporterTest.java ---------------------------------------------------------------------- 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 9215c3f..7d063e7 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 @@ -25,10 +25,10 @@ import org.apache.flink.configuration.MetricOptions; import org.apache.flink.metrics.Counter; import org.apache.flink.metrics.Histogram; import org.apache.flink.metrics.HistogramStatistics; -import org.apache.flink.metrics.util.TestMeter; import org.apache.flink.metrics.MetricConfig; import org.apache.flink.metrics.SimpleCounter; import org.apache.flink.metrics.reporter.MetricReporter; +import org.apache.flink.metrics.util.TestMeter; import org.apache.flink.runtime.metrics.MetricRegistry; import org.apache.flink.runtime.metrics.MetricRegistryConfiguration; import org.apache.flink.runtime.metrics.groups.TaskManagerJobMetricGroup; @@ -36,6 +36,7 @@ import org.apache.flink.runtime.metrics.groups.TaskManagerMetricGroup; import org.apache.flink.runtime.metrics.groups.TaskMetricGroup; import org.apache.flink.util.AbstractID; import org.apache.flink.util.TestLogger; + import org.junit.Test; import java.io.IOException; @@ -53,6 +54,9 @@ import java.util.concurrent.TimeoutException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +/** + * Tests for the StatsDReporter. + */ public class StatsDReporterTest extends TestLogger { @Test @@ -124,7 +128,7 @@ public class StatsDReporterTest extends TestLogger { } /** - * Tests that histograms are properly reported via the StatsD reporter + * Tests that histograms are properly reported via the StatsD reporter. */ @Test public void testStatsDHistogramReporting() throws Exception { @@ -198,7 +202,7 @@ public class StatsDReporterTest extends TestLogger { } /** - * Tests that meters are properly reported via the StatsD reporter + * Tests that meters are properly reported via the StatsD reporter. */ @Test public void testStatsDMetersReporting() throws Exception { @@ -241,7 +245,6 @@ public class StatsDReporterTest extends TestLogger { Set<String> lines = receiver.getLines(); - assertEquals(expectedLines, lines); } finally { @@ -260,7 +263,7 @@ public class StatsDReporterTest extends TestLogger { } /** - * Testing StatsDReporter which disables the socket creation + * Testing StatsDReporter which disables the socket creation. */ public static class TestingStatsDReporter extends StatsDReporter { @Override @@ -273,7 +276,7 @@ public class StatsDReporterTest extends TestLogger { } } - public static class TestingHistogram implements Histogram { + private static class TestingHistogram implements Histogram { @Override public void update(long value) { @@ -326,7 +329,7 @@ public class StatsDReporterTest extends TestLogger { } } - public static class DatagramSocketReceiver implements Runnable { + private static class DatagramSocketReceiver implements Runnable { private static final Object obj = new Object(); private final DatagramSocket socket; http://git-wip-us.apache.org/repos/asf/flink/blob/ce573c65/flink-metrics/pom.xml ---------------------------------------------------------------------- diff --git a/flink-metrics/pom.xml b/flink-metrics/pom.xml index e1b66c2..3be21aa 100644 --- a/flink-metrics/pom.xml +++ b/flink-metrics/pom.xml @@ -60,4 +60,43 @@ under the License. </dependency> </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.17</version> + <dependencies> + <dependency> + <groupId>com.puppycrawl.tools</groupId> + <artifactId>checkstyle</artifactId> + <version>6.19</version> + </dependency> + </dependencies> + <configuration> + <configLocation>/tools/maven/strict-checkstyle.xml</configLocation> + <suppressionsLocation>/tools/maven/suppressions.xml</suppressionsLocation> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <logViolationsToConsole>true</logViolationsToConsole> + <failOnViolation>true</failOnViolation> + </configuration> + <executions> + <!-- + Execute checkstyle after compilation but before tests. + + This ensures that any parsing or type checking errors are from + javac, so they look as expected. Beyond that, we want to + fail as early as possible. + --> + <execution> + <phase>test-compile</phase> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </project>
