Skip to content
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

[Extension Proposal] Provide extension for HTTP tracing header #45420

Open
turing85 opened this issue Jan 7, 2025 · 1 comment
Open

[Extension Proposal] Provide extension for HTTP tracing header #45420

turing85 opened this issue Jan 7, 2025 · 1 comment
Labels
area/quarkiverse This issue/PR is part of the Quarkiverse organization kind/extension-proposal Discuss and Propose new extensions

Comments

@turing85
Copy link
Contributor

turing85 commented Jan 7, 2025

Description

There are two quasi-standard header to use for user tracing: X-Request-ID and X-Correlation-ID1,2. Its semantics normally is that it can be set by the client. If the client does not set it, the server should generate one. Every response should return the header - either the client-provided value, or the server-generated value if the client did not provide an id.

This header should:

  • have a configurable name, defaulting to either X-Request-ID or X-Correlation-ID,
  • be integrated in other forms of tracing, in particular OpenTelemetry. In particular, we want be able to find all traces that belong to a given request id,
  • be propagated to downstream-systems so we can trace over multiple systems, and
  • be integrated with OpenAPI.

Interested in this extension, please +1 via the emoji/reaction feature of GitHub (top right).

Repository name

quarkus-http-header-correlation-id

Short description

Provide HTTP Correlation ID headers

Repository Homepage URL

https://docs.quarkiverse.io/quarkus-http-header-correlation-id/dev/

Repository Topics

  • web
  • observability
  • logging

Team Members

  • turing85

Additional context

Why not use the trace- or span-id?

This is no replacement to OpenAPI's trace- or span-id; the trace- and span-ids are generated by OpenAPI, the tracing header can be set by the client.

Why do we need a separate value?

there are infrastructure components, like istio, that can - based on headers - route specific requests to specific application instances, for example based on the header. This can be used, for example, when debugging or reproducing issues.

@turing85 turing85 added area/quarkiverse This issue/PR is part of the Quarkiverse organization kind/extension-proposal Discuss and Propose new extensions labels Jan 7, 2025
Copy link

quarkus-bot bot commented Jan 7, 2025

/cc @aloubyansky (extension-proposal), @gastaldi (extension-proposal), @gsmet (extension-proposal), @maxandersen (extension-proposal)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/quarkiverse This issue/PR is part of the Quarkiverse organization kind/extension-proposal Discuss and Propose new extensions
Projects
None yet
Development

No branches or pull requests

1 participant