All metrics code currently resides in flink-core. If a user implements a reporter and wants a fat jar it will now have to include the entire flink-core module.
Instead, we could move several interfaces into a separate module.
These interfaces to move include:
- Counter, Gauge, Histogram(Statistics)
- MetricReporter, Scheduled, AbstractReporter
In addition a new MetricRegistry interface will be required as well as a replacement for the Configuration.