Joshua MacDonald
Joshua MacDonald
I measured the Lightstep metrics SDK implementation of exemplars [here](https://github.com/lightstep/otel-launcher-go/pull/576) and the performance hit is consistent with what has been reported for .NET. For example, a fast-path that was 45ns...
This approach sounds good to me. Note that this approach does not exclude Sampler-related mechanisms that might solve the problem of broken traces due to sampled-out intermediate spans.
I think I agree with this proposal. The Lightstep metrics SDK which I used for prototyping does have two limits that can be roughly described as @MrAlias has described above....
I believe this is a duplicate of https://github.com/open-telemetry/opentelemetry-specification/issues/2986. Another open issue, https://github.com/open-telemetry/opentelemetry-specification/issues/2918, discusses this topic. See https://github.com/open-telemetry/opentelemetry-specification/issues/2918#issuecomment-1329472624. Since I see this ultimately as a sampling-related problem, you are invited to...
@HaloFour Thank you. @tigrannajaryan tried to address your request about opt-in behaviors in the default SDKs, which is not explicitly disallowed. #2986 appears to be a solution-agnostic request for the...
> since some SDKs might already be adding them after creation That sounds like off-spec behavior. I agree, however, that "unknown whether before or after creation" is acceptable for consumers....
@trask I agree we should relax the restriction on span status -- and that some other well-specified attribute value should be used when metrics are requested.
I believe we should add `flags` to the protocol for Span context and links. Otherwise, a tail sampler and downstream consumer will not be able to know whether the TraceID...
Recent benchmarks: BEFORE ``` goos: darwin goarch: arm64 pkg: github.com/lightstep/otel-launcher-go/lightstep/sdk/metric BenchmarkCounterAddNoAttrs-10 26393384 45.33 ns/op 0 B/op 0 allocs/op BenchmarkCounterAddOneAttrSafe-10 5077576 234.2 ns/op 224 B/op 5 allocs/op BenchmarkCounterAddOneAttrSafeBypass-10 13181984 91.18 ns/op...
Not sure if this helps @liustanley, but I've been maintaining a module of instrumentation that simply derives from the Go `runtime/metrics` source. https://github.com/lightstep/otel-launcher-go/tree/main/lightstep/instrumentation/runtime The way this works is a human...