David Ashpole

Results 566 comments of David Ashpole
trafficstars

I was looking at how to make some of the types public. We need to make these types public: * `Reservoir` * `Value`, `NewValue`, `ValueType`, `Int64ValueType`, `Float64ValueType` * `Exemplar` *...

Looking into stream configuration, there are a few different ways we could approach it. Our `Stream` needs to be extended with some kind of "exemplar reservoir provider." The main question...

I've prototyped option 2 in https://github.com/open-telemetry/opentelemetry-go/pull/5861

More importantly, I've confirmed in https://github.com/open-telemetry/opentelemetry-go/pull/5861 that we can implement stream configuration without requiring any changes to the public types in `sdk/metric/exemplar`.

Starting a new audit of everything except stream+ filter configuration: > An [Exemplar](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md#exemplars) is a recorded [Measurement](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#measurement) that exposes the following pieces of information: > * The value of the...

> Exemplar sampling SHOULD be turned on by default. If Exemplar sampling is off, the SDK MUST NOT have overhead related to exemplar sampling. https://github.com/open-telemetry/opentelemetry-go/blob/d7e7da66a9f52aae96e16d9582dba45826f00d9a/sdk/metric/exemplar.go#L35-L36 We comply with this.

> The ExemplarFilter configuration MUST allow users to select between one of the built-in ExemplarFilters. While ExemplarFilter determines which measurements are eligible for becoming an Exemplar, the ExemplarReservoir makes the...

> The ExemplarReservoir interface MUST provide a method to offer measurements to the reservoir and another to collect accumulated Exemplars. https://github.com/open-telemetry/opentelemetry-go/blob/d7e7da66a9f52aae96e16d9582dba45826f00d9a/sdk/metric/exemplar/reservoir.go#L13-L32 > The "offer" method SHOULD accept measurements, including: >...

> The SDK MUST include two types of built-in exemplar reservoirs: > * SimpleFixedSizeExemplarReservoir > * AlignedHistogramBucketExemplarReservoir https://github.com/open-telemetry/opentelemetry-go/blob/4ac842cb6a5d5718f9b058e1155dfd50097122d4/sdk/metric/exemplar/fixed_size_reservoir.go#L19 https://github.com/open-telemetry/opentelemetry-go/blob/4ac842cb6a5d5718f9b058e1155dfd50097122d4/sdk/metric/exemplar/histogram_reservoir.go#L20 **We've chosen to use simpler names than the specification recommends, but...

My reading of the spec is that we are required not to panic on nil context for API methods. It is also an improper use of go's Context, but i'm...