opentelemetry-go icon indicating copy to clipboard operation
opentelemetry-go copied to clipboard

Metrics SDK: Support for aggregation by distributed correlation context (Spec)

Open jmacd opened this issue 6 years ago • 0 comments

This issue is filed in to Golang repo as it describes work on the Go Metrics SDK, although the outcome of this work will be a recommendation for how to implement the default SDK for metrics at the OpenTelemetry specification level.

As discussed in https://github.com/open-telemetry/opentelemetry-specification/issues/382, we are interested in having a way to configure metrics export to use aggregation by distributed correlation values. In order to show this, an implementation will be needed. This issue is to define the implementation support needed to perform this kind of aggregation.

This will likely be done as part of an overall configurable metrics Batcher implementation, since much of the work needed for aggregating by distributed correlation is the same as that needed to support configurable metric instruments in general.

Computing the effective aggregate entity is more expensive when using distributed correlations. The design is likely to use the existing Meter implementation to handle bound instruments and direct calling conventions w/o modification--the Batcher is likely to introduce a new Aggregator type that will dispatch as appropriate to other aggregators based on the values of the dynamic variables in the aggregation. This could be done asynchronously, it has been suggested.

This issue should have a partner issue filed to discuss creation of a Batcher implementation that supports configurable aggregations and aggregation label keys (i.e., "views", generally).

jmacd avatar Dec 12 '19 22:12 jmacd