Issue #1341: Support Micrometer metrics facade to integrate with more… #1342
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… metrics backend systems
Currently secor's metrics monitoring relies on Twitter's Ostrich library which is already deprecated. There are many stats/metrics collection libraries and backend systems on the market (e.g. StatsD, Promethus, Graphite, Datadog, Influx etc).
A good way to support integration with those metrics collection system is using Micrometer facade (micrometer.io) which provides a common interface and prebuilt integration with most popular metrics systems.
Adding the new MicrometerMetricCollector implementation and plug in through:
secor.monitoring.metrics.collector.class=com.pinterest.secor.monitoring.MicroMeterMetricCollector
Micrometer metrics can use a CompositeMetricRegistry which supports to multiple metrics systems simultaneously. We added the following two integration points to JMX and StatsD, more (e.g. Graphite, Datadog) can be added in the similar fashion:
secor.monitoring.metrics.collector.micrometer.jmx.enabled=true
secor.monitoring.metrics.collector.micrometer.statsd.enabled=true