Get rid of instrumentation_class in metric definitions for internal events
Problem
Currently, metric definitions for metrics that use the data_source: internal_events need to provide an instrumentation_class.
For metrics that are total counts this is TotalCountMetric and for unique counts this is RedisHLLMetric.
This is problematic due to two reasons:
- It is an implementation detail that can be confusing for users instrumenting a metric
- It is actually redundant data. Depending on whether a metric includes a
uniqueparameter or not which instrumentation class is used should be inferrable. Having it configurable in the metrics file can actually lead to misbehaviors or bugs if the two informations don't match up (e.g.instrumentation_class: TotalCountMetricbut also a unique count provided.
Desired Outcome
Metrics with data_source: internal_events don't need an instrumentation_class. Ideally it would even be enforced that they don't have one.
Proposed Solution
TBD
How to verify
Both Total Count and unique metrics with data_source: internal_events and without an instrumentation_class still compute correctly.