Define Aggregator Requirements in Metric SDK Spec #1260
Labels
area:sdk
Related to the SDK
priority:p1
Highest priority level
release:required-for-ga
Must be resolved before GA release, or nice to have before GA
spec:metrics
Related to the specification/metrics directory
Milestone
What are you trying to achieve?
The Aggregator Functional Requirements are currently marked as ‘TODO’ in the metrics SDK spec. Will these requirements clearly define the aggregations each type of Aggregator is responsible for maintaining or is that left up to the interpretation of each language SDK.
The reason I am bringing this up is that I noticed that the Histogram aggregator in the Python SDK (https://github.com/open-telemetry/opentelemetry-python/blob/master/opentelemetry-sdk/src/opentelemetry/sdk/metrics/export/aggregate.py#L144) maintains only histogram buckets while the one in the Go SDK (https://github.com/open-telemetry/opentelemetry-go/blob/master/sdk/metric/aggregator/histogram/histogram.go#L47) maintains histogram buckets, total count and total sum. The total sum cannot be derived from histogram buckets, which means the same aggregator does not necessarily provide the exact same information across language SDKs currently. Overall, since the specification doesn’t exist today, there is an inconsistency in how specific aggregators are being implemented in the language SDKs.
When will these details be clarified in the spec?
cc- @alolita
The text was updated successfully, but these errors were encountered: