A recent discussion brought up the point of adding a "histogram" metric type to Flink. This open thread is to gather some more of the requirements for that metric.
The most important question is whether users need Flink to offer specific implementations of "Histogram", like for example the " com.codahale.metrics.Histogram", or if a "org.apache.flink.metrics.Histogram" interface would work as well. The histogram could still be reported for example via dropwizard reporters. *Option (1):* If a Flink Histogram works as well, it would be simple to add one. The dropwizard reporter would need to wrap the Flink Histogram for reporting. *Option (2)*: If the code needs the specific Dropwizard Histogram type, then one would need a wrapper class that makes a Flink Histogram look like a dropwizard histogram. ---------- As a bit of background for the discussion, here are some thoughts behind the way that Metrics are currently implemented in Flink. - The metric types in Flink are independent from libraries like "dropwizard" to reduce dependencies and retain freedom to swap implementations. - Metric reporting allows to reuse reporters from dropwizard - Some Flink metric implementations are also more lightweight than for example in dropwizard. Counters for example are not thread safe, but do not impose memory barriers. That is important for metrics deep in the streaming runtime.