Skip to content

[querier] Support external mode for traceID lookups#6185

Merged
electron0zero merged 9 commits intomainfrom
logiraptor/support-external-traceid-lookup
Jan 13, 2026
Merged

[querier] Support external mode for traceID lookups#6185
electron0zero merged 9 commits intomainfrom
logiraptor/support-external-traceid-lookup

Conversation

@Logiraptor
Copy link
Copy Markdown
Contributor

@Logiraptor Logiraptor commented Jan 9, 2026

What this PR does:

This PR adds a new external mode to the querier. In this mode, an HTTP request is sent to an external endpoint to fetch trace contents in addition to the normal ingester + block storages.

The external API is expected to support an API matching Tempo's TraceIDV2 API. /api/v2/traces/{traceID}?start=<start>&end=<end>. This endpoint should respond with an OTLP proto encoded trace.

This can be used to augment tempo's internal traceID lookup with additional data that may not be ingested to tempo directly.

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

This PR adds a new `external` mode to the querier. In this mode, an HTTP
request is sent to an external endpoint to fetch trace contents in
addition to the normal ingester + block storages.

The external API is expected to support an API matching Tempo's
TraceIDV2 API. `/api/v2/traces/{traceID}?start=<start>&end=<end>`. This
endpoint should respond with an OTLP proto encoded trace.

This can be used to augment tempo's internal traceID lookup with
additional data that may not be ingested to tempo directly.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 9, 2026

💻 Deploy preview available ([querier] Support external mode for traceIDv2):

Comment thread modules/querier/querier.go
@Logiraptor Logiraptor changed the title [querier] Support external mode for traceIDv2 [querier] Support external mode for traceID lookups Jan 12, 2026
Copy link
Copy Markdown
Member

@electron0zero electron0zero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

few nits, rest lgtm.

# Tempo's TraceIDV2 API (/api/v2/traces/{traceID}).
external:
# Enable querying an external endpoint for trace data.
[enabled: <bool> | default = false]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need the enabled flag in here as well? I see that we have external_enabled config under the frontend section as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not strictly necessary. Is this what you had in mind? 7d1c116

Comment thread modules/querier/external/client.go Outdated
Comment thread modules/querier/external/client.go
Co-authored-by: Suraj Nath <9503187+electron0zero@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 13, 2026

💻 Deploy preview deleted ([querier] Support external mode for traceID lookups).

@electron0zero electron0zero merged commit 44bc0e1 into main Jan 13, 2026
24 checks passed
@electron0zero electron0zero deleted the logiraptor/support-external-traceid-lookup branch January 13, 2026 21:01
@Logiraptor Logiraptor mentioned this pull request Jan 14, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants