feat: instruments com.twitter.util-stats #11756
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Instruments twitter's util-stats to complement existing finagle tracing observability in finagle-http.
Explicitly handled, is a mapping most closely according to twitter-util-stats' own
PrometheusExporter
as Prometheus is the closest relative to otel represented in the stack (AFAICT), but with the additional metadata of "hierarchical names" carried forward to otel via a designated label. This is done because many names -- "hierarchical" names in particular -- contain dimensional values but which aren't mapped to twitter-util-stats labels directly, and so their otel counterparts lose fidelity when mapped without them.The result is a more granular set of metrics, but which remain largely constrained by the nature of the source library where high cardinality of names and labels is still discouraged to a great extent.
Explicitly omitted: translation of twitter-util-stat's
Stat
metric type. These are equivalent to otel's deprecatedSummary
metric type and are therefore not a priority for the present iteration. As this is effectively a shift to Histograms as stand-in, compatibility/accuracy testing relative to the Stat metrics, will be lower than if the translation were 1:1.