go-grpc-middleware
go-grpc-middleware copied to clipboard
Add opentemeletry-go tracing support on top of `opentracing`.
https://github.com/open-telemetry/opentelemetry-go/blob/master/api/trace/api.go
Actually the current idea is to support both interfaces (: in v2 branch. See: https://github.com/grpc-ecosystem/go-grpc-middleware/issues/275
Acceptance Criteria:
- Users can use tracing interceptor with opentelemetry-go APIs too.
NOTE:
- Opentelemetry project is not Stable yet, APIs are changing that's why another provider and not replacing opentracing
OpenTelemetry is bit confusing, there are many abstractions. In practice I found it useful to create simpler wrapper for thousands of modules they have: * I would suggest using some abstraction like https://github.com/AnaisUrlichs/observe-argo-rollout/tree/main/app/tracing
I don't think we need to use this code, but we might want to add that for testing, or your own experimentation purposes (who ever is on this issue)
This is easier than we thought thanks of OpenTelemetry.
https://github.com/grpc-ecosystem/go-grpc-middleware/pull/543 changes v2 to remove tracing completely, since two interceptors can be used together with other middlewares:
- Tracing:
- (external)
otelgrpc- official OpenTelemetry tracing interceptors as used in example. - (external)
opentracing- deprecated OpenTracing client-side and server-side interceptors if you still need it!
- (external)