hashicorp / hashicorp/consul

Migrate hostname in consul.runtime metric names to labels

Open
#9,181 0 comments 1 reaction 0 assignees View on GitHub
theme/telemetry
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
2d 6h
Merged PRs (30d)
43

Description

#### Feature Description

Consul's runtime metrics place the hostname in the middle of metric names. Typically these take the form of `namespace.subsystem.measurement`, so in a way these runtime metrics are making the namespace _also_ include the hostname of the current system. Ideally, the host should be identified by a label so users can more easily perform aggregates to get answers like: find the highest sum of gc pauses across the cluster with max(). With the host in the name rather than the label, an operator of a modern metrics pipeline would have to update this query individually for _every_ host that enters the cluster. In modern systems this information is now expected to come in from the scraping or receiving backend like Prometheus or Datadog, though we can still include a host label for compatibility with systems that don't support labels.

This would be a breaking change, so we ought to deprecate the previous behavior and double-emit. Then, if we can get this in within 1.9.x point releases, we can flag the old behavior behind `{telemetry = { disable_compat_1.9 = true }}`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.