Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose exponential histogram data structure for public use #3027

Closed
jmacd opened this issue Jul 18, 2022 · 1 comment
Closed

Expose exponential histogram data structure for public use #3027

jmacd opened this issue Jul 18, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@jmacd
Copy link
Contributor

jmacd commented Jul 18, 2022

Problem Statement

Following #2501, the OpenTelemetry exponential histogram data type is relatively challenging to implement; OpenTelemetry-Go is a natural place to host common code when it will be used by both the OTel-Go SDK and the Collector. The first part of a solution came in #2502.

The original work in #2393 was carried on at Lightstep and published in otel-launcher-go. Lightstep would like to add support to the OTel Collector statsd receiver to use exponential histogram.

Proposed Solution

The current OpenTelemetry SDK contains the public mapping functions from #2502 in the sdk/metric/aggregator/exponential/mapping package. The proposal is to place a sibling in the exponential package, named sdk/metric/aggregator/exponential/structure that is a pure data structure meant for use by any Golang SDK, receiver or processor that wishes to create or modify expo-histograms.

Alternatives

The OpenTelemetry collector and others could refer directly to the Lightstep implementation here: https://github.com/lightstep/otel-launcher-go/tree/main/lightstep/sdk/metric/aggregator/histogram/structure

However, we think it best to contribute this to otel-go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant