-
Notifications
You must be signed in to change notification settings - Fork 304
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
Add x-client-trace-id Header to All Requests #59
Conversation
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.
removing the x-client-trace-id
from this class as it's now being populated elsewhere
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.
based on what I saw in the official interceptor docs as well as this Java sample
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.
based on what I saw in the official interceptor docs as well as this Java sample
super.start(new ForwardingClientCallListener.SimpleForwardingClientCallListener<>(responseListener) { | ||
@Override | ||
public void onClose(Status status, Metadata trailers) { | ||
logger.info("request completed for xClientTraceId {} with status {}", xClientTraceId, status); |
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.
This differs slightly from the Java example (linked above), but the intention here is to basically just log the x-client-trace-id
that was passed any time a request completes. This log line should be hit whether the request completes successfully or with an error. I'll include some sample output below
example log for a successful call:
request completed for xClientTraceId 8895e3a5-65d9-4428-bc1e-6e991838f164 with status Status{code=OK, description=null, cause=null}
example log for a failed call:
request completed for xClientTraceId eb62166d-5126-4b52-857b-ed73c2d3018e with status Status{code=UNAVAILABLE, description=RST_STREAM closed stream. HTTP/2 error code: NO_ERROR, cause=null}
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.
nice find. Curious, how did you generate the RST_STREAM error?
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.
I used the Subscribe example to open a subscription then killed the backend server that was serving the subscription
This PR adds the
x-client-trace-id
header to all outbound requests. This should generate a unique value per RPC request even if the same gRPC stub is used