Add x-client-trace-id Header to All Requests - #59
Conversation
There was a problem hiding this comment.
removing the x-client-trace-id from this class as it's now being populated elsewhere
There was a problem hiding this comment.
based on what I saw in the official interceptor docs as well as this Java sample
There was a problem hiding this comment.
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.
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.
nice find. Curious, how did you generate the RST_STREAM error?
There was a problem hiding this comment.
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-idheader to all outbound requests. This should generate a unique value per RPC request even if the same gRPC stub is used