Damien Mathieu
Damien Mathieu
You need to run `go mod tidy` from the otelgrpc package to fix the tests. Also, this will need a changelog entry.
Could that be clock skew?
Using the [tracetest package](https://github.com/open-telemetry/opentelemetry-go/tree/main/sdk/trace/tracetest), you can configure a test tracer which will record all emitted spans. You can then inspect and assert on them. See this test as an example:...
> What is the difference between noop and invalid span? IMHO, their difference is an implementation detail. It's always a span which will not be sending any data once closed....
What the Go SDK does is that SpanContext has an [IsValid](https://github.com/open-telemetry/opentelemetry-go/blob/0e6f9c29c10d6078e8131418e1d1d166c7195d61/trace/trace.go#L217) method, which returns false for noop spans. Then propagators [return early](https://github.com/open-telemetry/opentelemetry-go/blob/main/propagation/trace_context.go#L49) if the context is invalid.
The difference between nil and a noop span is that a noop span will accept calling all normal methods, while nil will throw exceptions on undefined methods. From the specifications...
I meant undefined methods for nil, not undefined for a proper span object.
Sure, debug makes sense. I've updated the issue description.
What I'm seeing all other SDKs do is return empty/noop baggage and metrics/tracer providers, which matches the specification statement. Regarding values, it seems to differ between SDKs. For example, Go's...