Conversation
The latest version of OTEL requires embedding the embedded.TracerProvider interface going forward in any implementations.
| var _ io.Closer = &tracerProviderCloser{} | ||
|
|
||
| type tracerProviderCloser struct { | ||
| // https://pkg.go.dev/go.opentelemetry.io/otel/trace#hdr-API_Implementations |
There was a problem hiding this comment.
Otel is the strangest package. How is this interface implemented? It contains an unexported method, so my understanding is that it can never be implemented outside of otel/trace/embedded.
There was a problem hiding this comment.
I agree - pushed a follow up which will get us out of the business of implementing our own TracerProvider and instead just return a separate io.Closer to allow shutting down the tracer provider.
|
@pkwarren thanks for merging this so quickly! This PR unblocks a security upgrade for projects using buf: GHSA-8pgv-569h-w5rw 🎉 Do you have a sense for when the next release of |
We haven't planned the next release yet - it is usually on demand as needed. How are you consuming buf? If via a go module, you can just do a |
|
Of note, installing from sources is not recommended, we recommend you install from the binaries for exactly this reason. |
|
@pkwarren that's right, we're consuming via go module. |
The latest version of OTEL requires embedding the
embedded.TracerProvider interface going forward in any implementations. Instead of implementing/extending TracerProvider, instead return a separate Closer.