Auto-generate metric emitter mappings
- Dominant language
- Java
- Stars
- 14.1k
- Forks
- 3.8k
- Avg merge
- 2d 58m
- Merged PRs (30d)
- 233
Description
### Description
Whenever a new metric is added or existing ones are changed, metric mapping files in emitters should be automatically updated.
Example files:
https://github.com/apache/druid/blob/master/extensions-contrib/prometheus-emitter/src/main/resources/defaultMetrics.json
https://github.com/apache/druid/blob/master/extensions-contrib/statsd-emitter/src/main/resources/defaultMetricDimensions.json
https://github.com/apache/druid/blob/master/extensions-contrib/graphite-emitter/src/main/resources/defaultWhiteListMap.json
### Motivation
As soon as a new metric is introduced, it has to be defined manually for each emitter to be available. This creates a maintenance load and state difference between emitters. Since all of the mapping files has some pre-defined schema, updating these files should be automated.
Contributor guide
Research direction
Start by comparing the schemas and contents of extensions-contrib/prometheus-emitter/src/main/resources/defaultMetrics.json, statsd-emitter/src/main/resources/defaultMetricDimensions.json, and graphite-emitter/src/main/resources/defaultWhiteListMap.json. Determine how metric additions and changes can update these mapping files automatically; done means the emitter mappings stay synchronized without manual definitions for each emitter.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100