Navigate between signals
The Grafana user interface provides several ways to move between telemetry signals. This topic helps you to learn the most efficient navigation patterns.
Before you begin
This topic assumes you have:
- Multiple telemetry signals configured (metrics, logs, traces, profiles).
- Consistent labels across signals for correlation.
- Access to the Grafana Drilldown apps or Grafana Explore, either on your own instances or using Grafana Play.
For configuration details, refer to Configure signal correlation.
Refer to these resources to configure specific capabilities:
- Exemplars
- Traces to profiles
- Trace to logs and trace to metrics, refer to Configure a Tempo data source
Grafana Assistant guided navigation
Grafana Assistant is an AI-powered observability agent built into Grafana Cloud that helps you monitor, troubleshoot, and manage your systems through natural language conversations. You access Grafana Assistant by clicking the two stars in the upper right corner of the screen.
Refer to Get started with Grafana Assistant and Understand Grafana Assistant pricing and usage for more information.
Note
Grafana Assistant is a paid feature. If you cannot access Grafana Assistant, it may not be enabled for your organization.
Grafana Assistant can help you move between signals conversationally:
Start with any signal:
"Show me error rate for the api service"Ask about related signals:
"Now show me the error logs for that service"Dig deeper:
"Find traces with errors from that service"
Assistant handles the query translation and data source switching automatically. Refer to Query data to learn more about using Assistant to query data.
Drilldown app linking
The Grafana Drilldown apps let you automatically visualize and explore your telemetry data without having to write queries or learn query languages for each telemetry signal.
The Drilldown apps are interconnected, letting you move between signals:
graph LR
MetricsDrill["Metrics Drilldown"] -->|Click metric line| LogsDrill["Logs Drilldown"]
MetricsDrill -->|Click exemplar| TracesDrill["Traces Drilldown"]
LogsDrill -->|Click trace ID| TracesDrill
TracesDrill -->|Note time/service| ProfilesDrill["Profiles Drilldown"]
TracesDrill -->|Copy time range| LogsDrill
ProfilesDrill -->|Compare profiles| MetricsDrillFrom Metrics Drilldown
To Logs Drilldown:
- Click a metric line to see related logs.
- Grafana queries Loki using labels from the metric.
Requirements:
- Both Prometheus and Loki must use the same label names (such as
service,namespace) - Label values must match exactly (case-sensitive)
- Example: Metric has
{service="checkout"}, logs must also have{service="checkout"}
To Traces Drilldown:
- Click an exemplar point (small diamond on the graph).
- Grafana opens the trace associated with that metric sample.
Requirements:
- Your application must emit exemplars with trace IDs
- Exemplars must be enabled in the panel (Time series panel type required)
- The Prometheus data source must be configured to link to your Tempo data source
Time range selection:
Click and drag on the graph to select a time range. This focuses other signals on that period when you navigate.
From Logs Drilldown
To Traces Drilldown:
- Expand a log entry to see its fields.
- Click the trace ID (appears as an underlined link).
- Grafana opens the trace in Traces Drilldown.
Requirements:
- Trace IDs must be embedded in your log entries.
- Derived fields must be configured in the Loki data source.
- The derived field regular expression must match your log format exactly.
Additional navigation:
- Select log patterns to focus on specific error types or messages
- Filter by labels to narrow down to specific services or instances
- Use the time selector to focus on specific time periods
From Traces Drilldown
To Logs Drilldown:
- Note the service name and time range from the trace.
- Click Logs for this span if available, or copy the time range.
- Query Loki with matching labels:
{service="your-service"}
To Profiles Drilldown:
- Open a trace and select a span.
- Look for the Profiles link on the span details.
- Click to view the profile for that span’s time range.
Requirements:
- Span profiles must be enabled in your application (
EnableSpanProfiling: true) - The Tempo data source must be configured with traces-to-profiles linking
- Label mappings must be configured (trace
service.namemaps to profileservice_name)
To Metrics:
- Click a service name to see related metrics
- The service graph view shows relationships between services with metric data
From Profiles Drilldown
To Traces Drilldown:
- Note the service name and time range from the profile.
- Query Tempo with matching service:
{resource.service.name="your-service"} - Look for traces that overlap with the profile time range.
To Metrics Drilldown:
- Compare profiles across time ranges to identify when performance changed.
- Correlate with metrics showing CPU, memory, or request latency for the same service and time period.
Requirements:
- Consistent
service_namelabels in profiles - Matching service labels in metrics
Explore split view
You use Explore to query, collect, and analyze data for detailed real-time data analysis. You can begin your visualization in one of the Drilldown apps and link to Explore, or if you are familiar with the query languages for each of the telemetry signals, you can start writing your queries in Explore.
You can use split view to see multiple signals simultaneously:
In the Grafana Cloud main menu, click Explore.
Click Split in the top-right toolbar.
Query different data sources in each pane, for example:
- Left: Prometheus metrics
- Right: Loki logs
Time synchronization: Click the chain link icon between the time pickers to keep time ranges synchronized across both panes.
Close split view: Click the menu icon and select Close to return to single-pane view.
Query carryover
When you split from a Prometheus query to Loki, Grafana automatically carries over matching labels:
- Run a PromQL query with labels:
sum by (service, namespace) (rate(http_requests_total[5m])) - Click Split and select the Loki data source in the right pane.
- Grafana pre-populates the LogQL query with matching labels:
{service="api", namespace="production"}
This automatic label transfer enables quick navigation from metrics anomalies to related logs.
Correlations Editor
The Correlations Editor (available in Grafana 10.1+) lets you create custom links between any two data sources. Unlike built-in navigation, correlations allow you to define exactly how data from one query connects to another.
Create a correlation
- In Explore, run a query that produces data in a supported visualization (logs or table).
- Click + Add in the top toolbar and select Add correlation.
- Explore enters Correlations Editor mode (indicated by a blue border).
- Click a data value to create a link from that field.
- In the split view that opens, configure the target query in the right pane.
- Use variables (shown at the top of the pane) to build a dynamic query. For example:
{service="${service}"} - Provide a label for the link (optional).
- Click Save to save the correlation.
After saving, the link appears in your data. Clicking it runs the target query with values from the selected row.
When to use correlations
Use the Correlations Editor when:
- You need custom navigation paths not provided by built-in linking
- You want to link between data sources that don’t have native integration
- You need to extract values from log lines using transformations like regular expressions or
logfmt.
- You want to create links from table visualizations to any other data source
For more details, refer to the Correlations documentation.
Dashboard correlation
There are additional ways that you can correlate telemetry signals in dashboards.
Variable linking
Use dashboard variables to filter all panels:
Variables:
- service: label_values(up, service)
- namespace: label_values(up{service="$service"}, namespace)All panels using $service and $namespace filter together.
Panel linking
Note
You need edit permissions on the dashboard to access the panel editor.
Configure data links to jump between dashboards:
- In the Grafana main menu, click Dashboards. The Dashboards page lists all of the available dashboards in your Grafana instance.
- Click a dashboard to display it.
- Edit a panel. To access the panel editor:
- Click on any panel’s title to open the panel menu.
- Select Edit from the dropdown menu.
- Scroll to the Data links and actions section.
- Under Data links click the Add link button.
- Add a link:
- Title: “View logs”
- URL:
/explore?left={"queries":[{"expr":"{service=\"${__field.labels.service}\"}"}],"datasource":"Loki"}
- Click Save.
Exemplars
Enable exemplars to link metrics directly to traces:
- Your application must emit exemplars with trace IDs.
- In a time series panel, expand the legend and enable Exemplars.
- Click exemplar points to open the associated trace.
Quick navigation shortcuts
When navigation fails
Navigation between signals can fail for several reasons. Understanding the following helps you diagnose issues quickly.
Trace not found
When clicking an exemplar or trace ID, link shows “No trace found”:
- Sampling: The trace may have been dropped by tail sampling. Exemplars and log trace IDs are recorded before sampling decisions, so the linked trace may not exist. This is expected behavior.
- Retention: Traces have a default retention of 30 days. If the trace is older, it has been deleted.
- Ingestion failure: The trace may have been rejected due to size limits (5 MB max per trace) or rate limiting.
No logs found
When navigating from metrics to logs shows no results:
- Label mismatch: Labels must match exactly (case-sensitive). Check that
service="api"in metrics matchesservice="api"in logs, notService="api"orservice_name="api". - Time range: Ensure the time range includes logs. Expand the range if needed.
- Retention: Logs have a default retention of 30 days. Older logs have been deleted.
Profile not available
When clicking a profiles link shows no data:
- Ingestion limit: Daily ingestion limits may have been reached. Data is discarded when limits are exceeded.
- Label mismatch: Profile labels use
service_name(underscore), while traces useservice.name(dot). Verify the mapping in your Tempo data source configuration. - Time range: Profiles must exist for the span’s time range. Ensure your application was sending profiles during that period.
Exemplars not appearing
When metrics graphs don’t show exemplar diamonds:
- Panel type: Exemplars only work with Time series panels, not the legacy Graph panel.
- Toggle disabled: Expand the panel legend and verify Exemplars is enabled.
- Not configured: Your application must emit exemplars with trace IDs in OpenMetrics format.
- Collector configuration: Verify
send_exemplars = truein your Alloy or Collector configuration.
For detailed troubleshooting steps, refer to Troubleshoot signal correlation.
Best practices for telemetry correlation
Label configuration:
- Use consistent label names across all signals (case-sensitive matching required)
- Keep shared labels under 15 to work within the Loki stream limit
- Use low-cardinality labels for correlation (service, environment, cluster)
Navigation setup:
- Include trace IDs in logs to enable direct log-to-trace linking
- Configure exemplars for metrics-to-trace navigation
- Set up derived fields in Loki with regex patterns matching your log format
- Enable span profiles for trace-to-profile linking
Workflow tips:
- Use split view when comparing signals side by side
- Enable time synchronization (chain link icon) when using split view
- Start with Grafana Assistant when you’re not sure where to look
- Use the Correlations Editor to create custom navigation paths
Next steps
- Configure signal correlation - Set up shared labels and linking
- Troubleshoot signal correlation - Solve common navigation issues
- Observability concepts - Understand cardinality, sampling, and limits
- Correlations documentation - Create custom data links



