GitHub user zentol opened a pull request:
https://github.com/apache/flink/pull/6292
[FLINK-9789][metrics] Ensure uniqueness of watermark metrics
## What is the purpose of the change
This PR ensures that all registered watermark metric objects are only
registered once; shared gauges must be wrapped and registered separately to
avoid collisions in reporters which generally assume that metric objects are
unique.
## Brief change log
* ensure uniqueness by wrapping re-used metrics in
`[One|Two]InputStreamTask` and `OperatorChain`
* add `InterceptingTaskMetricGroup` to gather registered metrics
* modify `[One|Two]InputStreamTask#testWatermarkMetrics` to check
uniqueness of registered objects, and cover re-use for tasks
## Verifying this change
* run `[One|Two]InputStreamTask#testWatermarkMetrics`
* run any streaming job and check existence of all watermark metrics for
task and operator
* (via REST API: /job/<job_id>/vertices/<vertex_id>/metrics)
* see the [metrics
documentation](https://ci.apache.org/projects/flink/flink-docs-master/monitoring/metrics.html#io)
for a list of expected metrics
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zentol/flink 9789
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/6292.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #6292
----
commit 4a7a0c6114893250e625dc36d953209de22ce57e
Author: zentol <chesnay@...>
Date: 2018-07-10T11:27:34Z
[FLINK-9789][metrics] Ensure uniqueness of watermark metrics
----
---