Refactor internal state to ensure consistent request id in logging #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
Today it's pretty hard to debug everything that was being logged for a specific HTTP request since there is no stable value you can query on from the first HTTP request until the end.
This PR introduces a
request_idwhich will be stable for the duration of the request, and due to its UUIDv4 value, will be globally unique (or close to it) for the lifetime of the service.The request ID will always be returned in a proxied response (
X-Request-ID), which should make it much easier to correlate request and actions done.The value will also be logged as
request_idin any logs from the request.The value will not be emitted via telemetry as the cardinality of the field would be mostly useless
Signed-off-by: Christian Winther jippignu@gmail.com