-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added GRPC example #229
Added GRPC example #229
Conversation
Thanks for working on this! The protobuf issue with Ruby 2.7 has been a blocker for us (Shopify) too. I’ll check internally to see if and how we’re working around it. Assigning The semantic conventions for gRPC are documented here: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/rpc.md#grpc The specification doesn’t describe how propagation is supposed to work with gRPC, but the Go implementation simply sets the keys in the metadata. I think we want to use the |
Thanks @fbogsany for pointing out the spec. For the span name, as the For the Here is an example of current span data:
|
I also assigned the |
I have studied the Go implementation again and did some adjustments:
Two hacks are needed so far because the
I will continue to explore for |
@pinglamb are you still working on this? |
I can continue to work on this, any comments so far? Thanks! |
@pinglamb have any progress with this one? |
👋 This pull request has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the |
Hi, I have added a basic GRPC example (#96).
I took reference of the Java and Go example and used
GRPC::ServerInterceptor
for injecting the trace logic. Other parts are mostly copied from Ruby GRPC example (with some modifications), including the.proto
file and server/client implementation.I have 2 parts I am not sure about, which would like to seek some suggestions/guidance:
http
example it usesOpenTelemetry.propagation.http.extract(env)
, should I addgrpc
util or just extract it fromcall.metadata
in the Interceptor. Also, what metadata should I extract from there?grpc status
tospan status
when error happens?I found that
protobuf
seems to have issue with Ruby 2.7 (protocolbuffers/protobuf#7070). I will test further see if it is my configuration orprotobuf
issue.Any feedback is welcome, it is my first time contribution. Thank you very much.