Damien Mathieu

Results 196 comments of Damien Mathieu

You need to run `go mod tidy` from the otelgrpc package to fix the tests. Also, this will need a changelog entry.

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...