go-grpc-middleware icon indicating copy to clipboard operation
go-grpc-middleware copied to clipboard

Add opentemeletry-go tracing support on top of `opentracing`.

Open bwplotka opened this issue 5 years ago • 2 comments

https://github.com/open-telemetry/opentelemetry-go/blob/master/api/trace/api.go

bwplotka avatar Mar 02 '20 14:03 bwplotka

Actually the current idea is to support both interfaces (: in v2 branch. See: https://github.com/grpc-ecosystem/go-grpc-middleware/issues/275

bwplotka avatar May 21 '20 07:05 bwplotka

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)

bwplotka avatar Apr 23 '21 14:04 bwplotka

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!

bwplotka avatar Mar 18 '23 09:03 bwplotka