Summary
After a few months of weighing the current state of OpenTel vs the current need for metrics wrt to the Consul ecosystem, it has become more evident to me that switching to armon/go-metrics would provide the most cohesive and comprehensive feature set at this time.
Background
PR #1378 recently introduced metrics to Consul Template using OpenTelemetry. There's a short blurb providing context as to why OpenTel was initially chosen over armon/go-metrics and that it was an experiment towards a new library for telemetry.
Context
I tried to create a uniform UX for configuring and emitting metrics over on Consul ESM #70, another Consul ecosystem project, and quickly ran into some short comings when dealing with more complex metric types than counters and histograms. For example, timer values were reduced to histogram integers, and there currently is not a systematic way to denote measurement (seconds, milliseconds, etc).
The community request for statsd is not quite satisfied yet due to the difference in tag syntax between statsd variants and would require omitting the use of tags as a whole to continue support for statsd.
UX
The metrics reported should not change much from the initial work in #1378 (not yet released). However, the telemetry configuration will be breaking changes compared to the PR and align closer to how it is supported by Consul (docs).
Switching libraries will add feature support for:
- statsd, circonus
- more metric types, like timers and gauges
- tags and global tags
- metrics prefix
- prefix filtering
Summary
After a few months of weighing the current state of OpenTel vs the current need for metrics wrt to the Consul ecosystem, it has become more evident to me that switching to
armon/go-metricswould provide the most cohesive and comprehensive feature set at this time.Background
PR #1378 recently introduced metrics to Consul Template using OpenTelemetry. There's a short blurb providing context as to why OpenTel was initially chosen over
armon/go-metricsand that it was an experiment towards a new library for telemetry.Context
I tried to create a uniform UX for configuring and emitting metrics over on Consul ESM #70, another Consul ecosystem project, and quickly ran into some short comings when dealing with more complex metric types than counters and histograms. For example, timer values were reduced to histogram integers, and there currently is not a systematic way to denote measurement (seconds, milliseconds, etc).
The community request for
statsdis not quite satisfied yet due to the difference in tag syntax between statsd variants and would require omitting the use of tags as a whole to continue support for statsd.UX
The metrics reported should not change much from the initial work in #1378 (not yet released). However, the telemetry configuration will be breaking changes compared to the PR and align closer to how it is supported by Consul (docs).
Switching libraries will add feature support for: