Skip to content

[grafana] Add exemplar-to-logs navigation#3617

Open
cijothomas wants to merge 1 commit into
open-telemetry:mainfrom
cijothomas:grafana/exemplar-logs-navigation
Open

[grafana] Add exemplar-to-logs navigation#3617
cijothomas wants to merge 1 commit into
open-telemetry:mainfrom
cijothomas:grafana/exemplar-logs-navigation

Conversation

@cijothomas

@cijothomas cijothomas commented Jul 2, 2026

Copy link
Copy Markdown
Member

Adds exemplar-to-logs navigation. Clicking an exemplar now offers a "View in Logs (OpenSearch)" link
that opens the Demo Dashboard's Log Records panel pre-filtered to that trace ID.

The Service filter is now multi-select with an "All" option, so the trace's logs across every
service involved are shown by default. traceId is an additional filter on top of Service (not
an override), so you can still narrow back down to one service afterwards.

Exemplar shows link to get to Logs:
image

The dashboard opened when clicking "View in Logs", filtered by the TraceId and showing all services:

image

I kept this very minimal, to showcase how one can use Metric Exemplars to get to Logs (instead of just Traces). Happy to further adjust based on feedback. This in itself should be an improvement in my opinion.

@github-actions github-actions Bot added the helm-update-required Requires an update to the Helm chart when released label Jul 2, 2026
@cijothomas cijothomas marked this pull request as ready for review July 2, 2026 16:58
@cijothomas cijothomas requested a review from a team as a code owner July 2, 2026 16:58
@cijothomas cijothomas force-pushed the grafana/exemplar-logs-navigation branch 2 times, most recently from 88ec43f to c8e75a6 Compare July 3, 2026 12:27
Comment on lines +25 to +31
# Jump from a metric exemplar straight to the matching logs in OpenSearch. The
# grafana-opensearch-datasource plugin doesn't implement Grafana's trace-link export
# interface, so we can't use `datasourceUid` here like we do for Jaeger. Instead this links
# to the existing Demo Dashboard's Log Records panel, setting its $traceId variable and
# forcing $service to "All" (a trace typically spans multiple services, and we don't know
# in advance which ones). $traceId is a strict additional filter on top of $service -- the
# user can still narrow back down to one service afterwards using the dropdown.

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 this whole text here?
Maybe we can add a link to a doc page.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

there is no doc page yet... Once this is in, I can prepare opentelemetry.io/docs/demo and then come back and remove this.. Not sure if there is any better place to keep this information right now.

@cijothomas cijothomas force-pushed the grafana/exemplar-logs-navigation branch from c8e75a6 to 3f2fd2a Compare July 4, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

helm-update-required Requires an update to the Helm chart when released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants