-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
False
-
-
False
-
-
-
-
-
-
-
Refactor metrics
Currently we expose our metrics in the formats:
- base_* for metrics related to the underlying JVM
- vendor_* for Infinispan and JGroups related metrics
We originally did this to follow [Microprofile](https://download.eclipse.org/microprofile/microprofile-metrics-5.0.0/microprofile-metrics-spec-5.0.0.html#metrics-setup) guidelines, however this is not an approach taken by many other projects and seems to cause some confusion for users.
Therefore, we propose taking the following actions:
1. Deprecate current base_* and vendor_* metrics
2. Replace vendor_jgroups_* metrics with jgroups_*
3. Replace all other vendor_* metrics with infinispan_*
4. Replace base_* metrics with io.micrometer.core.instrument.binder.jvm, which will exposed as jvm_* metrics
5. Deprecate and ignore name-as-tags for new metrics, as tags will always be used in the new metrics
6. Deprecate the metric PREFIX configuration in favour of a cache-container/cluster specific tag.
7. Remove all deprecated configurations and metrics in a TBD Infinispan major.
Configuration flag
We want also to have a flag on the metrics configuration to enable / disable the change to continue to support user migration. The new metrics will be the default upstream starting in 16.0, but downstream the old metrics format will remain the default in DG 8.6 for backwards-compatibility reasons. A Feature is a possible solution for modifying the behaviour between the upstream and downstream builds.
OpenTelemetry Metrics Integration
In order to support the latest observability trends and allow support for Exemplars we want to expose our metrics using the OpenTelemetry Metrics standard (push), expanding the OpenTelemetry Tracing integration we already have (push).
Potentially continuing to expose Prometheus metrics (pull).
- links to