-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Make opencensus Stackdriver exporter respects initial_metadata option #11831
Conversation
Signed-off-by: Pengyuan Bian <[email protected]>
Signed-off-by: Pengyuan Bian <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Could you please add unit tests to cover this and for skipping the interceptor due to no initial metadata configured first?
@asraa I am having a hard time to find an easy way to test this. All current gRPC client tests are based on Envoy's async client/stream interface and implementation, but for this change we'd just want the test to verify the channel created could have initial metadata injected. Current options that I've thought about:
Neither seems ideal to me.. any better ideas? |
re-assigning to @htuch,who may be able to help a little more with testing. |
@bianpengyuan a couple of things:
|
@htuch I updated the PR description. Yeah I have read through related tests. They are all based on AsyncClient / AsyncStream implementation and I don't find an easy way to apply them to this use case, which leads me to two options listed in #11831 (comment). |
@bianpengyuan looking at the description, this makes me think that we're doing something pretty weird in OpenCensus. We already have another thread about OpenCensus doing its own thing with HTTP and ^^ is not actionable in this PR, but it would be good to make some progress here asynchronously, CC @g-easy @markdroth For tests, I think you're going to need to do an integration test with OpenCensus and gRPC tracing enabled with a fake upstream (it can be Envoy's inbuilt |
Signed-off-by: Pengyuan Bian <[email protected]>
Signed-off-by: Pengyuan Bian <[email protected]>
@htuch find an easier way to achieve this with the lastest opencensus. ptal, thanks! |
Signed-off-by: Pengyuan Bian <[email protected]>
Signed-off-by: Pengyuan Bian <[email protected]>
Signed-off-by: Pengyuan Bian <[email protected]>
Signed-off-by: Pengyuan Bian <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
…envoyproxy#11831) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]>
…envoyproxy#11831) (#234) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]>
…envoyproxy#11831) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]> Signed-off-by: Kevin Baichoo <[email protected]>
…envoyproxy#11831) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]> Signed-off-by: scheler <[email protected]>
…envoyproxy#11831) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]>
…envoyproxy#11831) (#261) Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of initial_metadata from grpcService configure. This change fills in OCprepare_client_context option in export to make it respect initial metadata. Risk level: Low Signed-off-by: Pengyuan Bian <[email protected]>
Currently Opencensus tracer uses grpcService proto to configure its tracing client stub. It uses GoogleGrpcUtil to construct a channel and create client stub with that. However, the channel created there does not take care of
initial_metadata
from grpcService configure. This change fills in OCprepare_client_context
option in export to make it respect initial metadata.Signed-off-by: Pengyuan Bian [email protected]
For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]