Interactivity in dashboards

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

Dashboards in SigNoz let you interact with data through panels built in the Query Builder, where context menus and click actions allow you to drill deeper, apply filters, and move to related logs, traces, or metrics.

Dashboard context menu example
Context menu on a metrics panel.

These interactive features make dashboards a powerful tool for root cause analysis, helping you move from high-level trends to detailed records with just a few clicks.

Features

Interactive dashboards include multiple capabilities such as View Logs and Traces, View Trace Details, Breakout by, Context Links, Cross Filtering, Filter in Tables, and Cross-Panel Sync. Together, these features let you drill deeper, correlate across signals, and debug issues faster.

You can trigger these interactions from a panel on the dashboard or from inside a panel's expanded View modal. See Drill down in the expanded view for how the two entry points differ.

View Logs and Traces

The View in Logs/Traces option allows you to go beyond aggregated charts and tables by opening the underlying raw signal data.
This helps not only in viewing the exact records behind a metric or trace but also in correlating across signals for deeper debugging.

How it works

  1. Click on a datapoint in a chart or a value in a table.
  2. A context menu will appear with options including View in Logs and View in Traces.
  3. When you select one of these options:
    • The current filters, time range, and group-by context are preserved.
    • SigNoz opens the corresponding Explorer view (Logs or Traces).
    • You immediately see the subset of records that contributed to the clicked datapoint.

This ensures that you can move seamlessly from high-level aggregates to detailed records without needing to rebuild queries.

Example

In the example below, a CPU Usage by Host metrics panel shows an anomaly.
By right-clicking on the datapoint, you can select View in Logs or View in Traces from the context menu.

Right-clicking a datapoint in a metrics panel to open related logs and traces
Right-clicking a datapoint in a metrics panel to open related logs and traces

This workflow shortens the gap between observing anomalies and finding their root cause by connecting metrics, traces, and logs in one flow.

Why use it

  • Faster correlation: Jump from metrics to traces and logs in context.
  • Root cause focus: Cut the time between spotting anomalies and debugging them.

View Trace Details

When the data point or table row you click carries a trace_id, a View Trace Details link is added to the context menu automatically. You do not need to configure a context link for it.

How it works

  1. Click a data point in a chart, a pie slice, or a row in a table whose query returns a trace_id.
  2. Select View Trace Details from the context menu.
  3. The trace detail page for that trace_id opens in a new browser tab, so your dashboard stays open.

Drill down in the expanded view

Every panel can be expanded into a full-screen View modal by selecting the expand icon on the panel header. Drill-down interactions are available inside this modal, not just on the dashboard grid.

  • Filter by value and Breakout by work the same way inside the modal: click a data point, pie slice, or table cell and choose an action.
  • The result refines in place. The query re-runs and the chart or table updates within the same modal, rather than opening a nested modal.
  • Each drill-down step updates the URL, so the refined state is preserved when you reload or share the link.

This lets you start from an aggregate view and keep narrowing (filter, then break out, then filter again) without leaving the expanded panel.

Breakout by

The Breakout by option allows you to drill deeper into aggregated data by regrouping it with another attribute.
Instead of building a new query from scratch, you can click on a datapoint or table cell and break it down further to uncover patterns and anomalies.

How it works

  1. Click on a chart datapoint, bar segment, or table cell.
  2. From the context menu, select Breakout by....
  3. Choose an attribute from the list (for example, k8s.pod.name or host.name).
  4. The panel is updated in place to show the new breakdown:
    • Existing filters, time range, and dashboard variables are preserved.
    • The selected data is applied as a filter so the new breakdown focuses only on that slice.
    • The chosen attribute becomes the new group by dimension (it replaces the previous grouping).

This lets you move from a broad overview to more granular insights step by step.

Example

In the example below, a panel showing CPU Usage by Host can be further analyzed by selecting Breakout by → k8s.pod.name.
This reveals which pods inside the host are contributing most to CPU usage.

Breaking down CPU usage by host into pod-level details using Breakout by
Breaking down CPU usage by host into pod-level details using Breakout by

Why use it

  • Anomaly detection: Spot which service, pod, or endpoint is driving unusual behavior.
  • Layered exploration: Start broad (by service) and go deeper (by pod, endpoint, or trace attribute).
  • Faster debugging: Explore data without manually editing queries.

Context Links are links available in a panel’s context menu.
They let you attach dynamic URLs to a panel and navigate to internal explorers (Logs, Traces, Metrics) or external tools (e.g. Jenkins, PagerDuty) using the values of the datapoint you clicked.

Context menu showing dynamic links that use the clicked value and time range
Context menu showing dynamic links that use the clicked value and time range
  1. Edit a panel and expand the Context Links section in the panel settings pane.
  2. Select Add Context Link to open the context link editor.
  3. Configure the link:
    • Label: the text shown in the context menu. If you leave it empty, SigNoz shows the URL instead.
    • URL: the destination URL. It can include {{variable}} tokens that resolve to the clicked datapoint's values (see Available variables).
    • URL parameters (optional): select Add URL parameter to manage query parameters as key-value rows. Each row adds a key=value pair to the URL.
    • Open in new tab: on by default. Leave it on to open the destination in a new browser tab and keep the dashboard where it is; turn it off to navigate in place.
  4. Select Save.
Add a context link dialog with Label, URL, Add URL parameter, and the Open in new tab toggle
Authoring a context link. The label and URL accept {{variable}} tokens.
Edit context link dialog with a {{_service.name}} token in the URL, and the saved link listed in the Context Links pane
A context link whose URL carries a {{_service.name}} token. Saved links appear in the Context Links pane with edit and delete actions.

The URL field and the URL parameters table stay in sync:

  • Editing the URL populates the parameter rows (values are decoded).
  • Editing a parameter row updates the URL (values are encoded).

URL validation

The URL must start with one of the following, or the link cannot be saved:

  • http:// or https:// for an absolute link to an external tool.
  • / for a root-relative path inside SigNoz, for example /logs.
  • A {{variable}}/ token, so the resolved variable value forms the start of the URL.

If the URL does not match, SigNoz highlights the field and shows the message URLs must start with http(s), /, or {{.*}}/. Fix the URL to save the link.

Context link dialog showing the URL validation error beneath an invalid URL
An invalid URL is flagged inline and blocks saving until it is corrected.

Available variables

You can use different types of variables inside the URL or a parameter value. While editing the URL or a parameter value, type {{ to open an autocomplete popover that lists the variables available to the current panel, grouped by type.

TypeDescriptionSyntaxExample
Global timestampThe current dashboard's absolute start and end time (epoch ms).{{timestamp_start}}, {{timestamp_end}}from={{timestamp_start}}&to={{timestamp_end}}
Query variablesThe group by fields in the query you click on. Available only when the panel query has a GROUP BY.{{_fieldName}}{{_service.name}}, {{_trace_id}}
Dashboard variablesAny dashboard-level variable defined in the dashboard settings.{{varName}}{{host}}, {{env}}

Saved links appear as a compact list under the Context Links section. Each row shows the label (or the URL when no label is set) as the primary text and the full URL beneath it. Hover a row to reveal its edit (pencil) and delete (trash) buttons. Select the pencil to reopen the editor with the link's values prefilled.

To use a link, click a chart datapoint, bar segment, or table row in the dashboard to open the context menu, then select the link. Variables resolve to the clicked values and the destination opens.

Panel context menu listing a custom View service details link below the built-in drill-down actions
A saved context link appears in the panel's context menu alongside View in Logs, View in Traces, and Breakout by.

Examples

1. View trace details from a table

Label: View Trace Details
URL: /trace/{{_trace_id}}

2. External link with variables (Jenkins / PagerDuty)

Label: Open in Jenkins
URL: https://jenkins.example.com/job/{{_service.name}}?from={{timestamp_start}}&to={{timestamp_end}}
 
Label: PagerDuty Alerts
URL: https://pagerduty.example.com/incidents?service={{_service.name}}&since={{timestamp_start}}&until={{timestamp_end}}

Why use it

  • Seamless navigation: Jump across signals (Logs ↔ Traces ↔ Metrics) or to external tools.
  • Context preservation: Links carry the clicked value, filters, and time range automatically.
  • Faster debugging: One-click access to deep-dive views without rebuilding queries.

Cross Filtering

Cross Filtering lets you use clicked data in a panel to update or create dashboard variables.
When you click on a service, pod, or trace ID, the panel’s context menu includes a Dashboard Variables option.
From here, the following actions are available:

  • Set – Assign the clicked value to an existing dashboard variable.
  • Unset – Remove the value from an existing dashboard variable.
  • Create var – Add a new dynamic dashboard variable using the clicked field. By default, no panels are configured to use a newly created variable, but you can configure panels later to reference it.

If the clicked field already has a dynamic variable, you’ll see Set/Unset. Otherwise, the option will be Create var. Panels that use the updated variable will automatically refresh.

Using the context menu to set a dashboard variable from clicked panel data
Using the context menu to set a dashboard variable from clicked panel data

Why use it

  • On-the-fly filtering: Narrow scope instantly without editing queries.
  • Dynamic exploration: Create new variables directly from clicked data.
  • Flexible workflows: Set, unset, or create variables depending on your analysis needs.

Filter in Tables

The Filter in Tables option allows you to quickly narrow results by applying filters directly from table cells. Instead of editing the query manually, you can click on a group-by value in a table and add conditions on the fly.

How it works

  1. Open a Table panel with a grouped query (for example, COUNT(*) BY service.name).
  2. Click on a cell in a group-by column.
Clicking a table cell to add a filter condition directly from the group-by value
Clicking a table cell to add a filter condition directly from the group-by value
  1. From the context menu, select Filter by....
  2. Choose an operator based on the field type:
    • String: = or !=
    • Number: =, >, <, >=, <=
    • Boolean: is true, is false
  3. Enter or confirm the filter value.
  4. The table refreshes in place with the new filter applied — no manual edits or page reloads needed.

Why use it

  • Faster narrowing: Apply filters directly from the data you are inspecting.
  • Context-aware operators: Only valid operators for the column type are shown.
  • No query editing: Instantly re-run the query without touching the Query Builder.

Cross-Panel Sync

When a dashboard has multiple charts describing the same system — request rate, latency, error count — you can synchronize them so that hovering one chart highlights the same point in time on every other chart.

How to enable it

  1. Open a dashboard and select Configure.
  2. Under Cross-Panel Sync, choose a sync mode:
    • No Sync — panels behave independently.
    • Crosshair — a vertical time-marker appears on all panels at the hovered timestamp.
    • Tooltip — same as Crosshair, plus matching tooltips appear on related panels.
  3. When Tooltip mode is selected, a Synced Tooltip Series option appears:
    • All — shows the full tooltip with every series on the synced panels.
    • Filtered — shows only the series that match the hovered series based on shared group-by dimensions.
Dashboard Configuration panel showing Tooltip sync mode with Synced Tooltip Series set to Filtered
Cross-Panel Sync settings with Tooltip mode and Synced Tooltip Series options.

How it works

When you hover a chart (the source), every other chart on the dashboard (the receivers) reacts:

  • A vertical line (the crosshair) appears at the same timestamp on every other chart in that dashboard.
  • The source shows its full tooltip with all of its series at that point in time.
  • Other charts (the receivers) may also show a tooltip, but filtered to only the series that are comparable to what you are focused on.
Two dashboard panels with synchronized crosshair and tooltip showing matching series
Hovering the source chart shows a crosshair and filtered tooltip on the receiver.

Y-axis crosshair and matching units

Every chart has a y-axis with a unit (milliseconds, bytes, count, percent, etc.).

  • Same unit on both panels — the receiver shows both the vertical (time) and horizontal (value) crosshair lines, so you can compare values directly.
  • Different units — only the vertical line appears on the receiver. The horizontal line is hidden because aligning a "ms" cursor on a "bytes" chart would suggest a comparison that is not meaningful.

This rule applies to the crosshair lines only — tooltip behavior is covered in the next section.

How tooltip matching works

In Tooltip mode, receiver tooltips only appear when there is a meaningful match. The matching is based on the group-by dimensions of each chart's queries — the labels a chart splits its data by (for example, service.name, http.method, or region). They appear in the legend (e.g. {service.name="frontend"}).

A receiver shows a tooltip when all of these are true:

  1. Both charts have at least one group-by dimension. A chart with no group-by (a single aggregated line) will not trigger or receive a filtered tooltip.
  2. The two charts share at least one group-by dimension. For example, if the source groups by service.name and the receiver also groups by service.name, that is a shared dimension. If the source groups by service.name and the receiver groups only by region, there is no overlap.
  3. The receiver has at least one visible series whose values match the source's focused series on every shared dimension. If the source's focused series is {service.name="frontend", http.method="GET"} and the receiver only has series for service.name="checkout", no series matches.

If any condition fails, the receiver tooltip is hidden entirely — no header, no footer, no empty box.

Source groups byReceiver groups byResult on receiver
service.nameservice.name (has matching series)Tooltip with matched rows
service.nameservice.name (no matching series)No tooltip
service.nameNo group-by (single aggregated line)No tooltip
No group-byAnyNo tooltip
service.nameregion only (no shared dimension)No tooltip
service.name, http.methodservice.name onlyTooltip filtered by service.name

When a receiver tooltip appears, it lists only the series that match the source's focused series on the shared dimensions:

  • Series with data at that timestamp show their value.
  • Series that match the dimension filter but have no value at that timestamp show No Data, so you can tell the absence is meaningful (the series exists but has a gap) rather than the series being missing entirely.
  • Series that do not match the dimension filter are not shown.

Interaction with the legend

You can toggle individual series on and off through the chart legend. Hidden series are treated as if they do not exist for tooltip matching:

  • If you hide a series in the receiver chart, it will not be considered when looking for a match.
  • If every matching series in the receiver is hidden, the receiver tooltip disappears entirely the next time you move the cursor on the source.

This makes it easy to focus comparison on a specific subset by hiding the rest.

Create an alert from a panel

You can turn any panel into an alert without rebuilding its query. When you create an alert from a panel, SigNoz carries the panel's query into the alert builder and seeds the alert condition from the panel's Reduce To setting and its thresholds, so the condition arrives partly filled in.

Create Alerts is available on Time Series, Bar, Value (Number), and Histogram panels. Table, List, and Pie panels do not offer it.

You do not need edit access. The action is available on locked and read-only dashboards as well as editable ones, since creating an alert never modifies the dashboard.

Create the alert

  1. Hover over the panel and open its actions menu (the ... menu in the panel header). You can also open the same action from the panel editor's Actions section.
  2. Select Create Alerts. SigNoz opens the alert builder in a new tab with the panel's query already loaded, including its formatting unit.
  3. Review the pre-filled condition, adjust anything you need, and save the alert.

The alert condition reads as a sentence: Send a notification when <query> is <operator> the threshold(s) <occurrence> during the <evaluation window>. The operator and occurrence parts are the fields seeded from the panel.

Occurrence from Reduce To

For Value (Number) panels, the panel's Reduce To setting maps to the alert occurrence:

Panel Reduce ToAlert occurrence
SumIN TOTAL
AvgON AVERAGE
Max, Min, or LatestDefault (left unchanged)

Time Series, Bar, and Histogram panels do not expose a Reduce To that maps to occurrence, so their occurrence stays at the alert builder's default.

Operator and value from thresholds

When the panel has thresholds configured, SigNoz picks the most dangerous threshold and copies its value (and unit) into the alert. Danger is ranked by threshold color:

red > orange > green > blue > any other color

For Value (Number) panels, the threshold's comparison operator is copied as well:

Panel threshold operatorAlert operator
Above (>) or Above or equal ()ABOVE
Below (<) or Below or equal ()BELOW
Equal (=)EQUAL TO
Not equal ()NOT EQUAL TO

Time Series and Bar panels pre-fill the threshold value and unit, but the operator stays at the default, because these panels store thresholds as value markers without a comparison operator. Histogram panels do not pass thresholds, so nothing threshold-related is seeded.

Everything SigNoz fills in is a starting point. Review the condition and complete the remaining fields before saving. For the full list of condition options, see Metrics based alerts.

Download a panel

A panel's actions menu showing View, Edit panel, Clone, Download, Create Alerts, Move to section, and Delete panel
The panel actions menu. Download and Create Alerts sit alongside the editing actions.

Open a panel's ... menu to download what it currently shows:

  • Download as PNG and Download as SVG are available on every panel type.
  • Download as CSV is available on Table panels, and exports the table's rows and columns.

Empty panel state

When a panel query runs successfully but returns nothing for the selected time range, the panel shows an empty state titled No data in this time range instead of a chart. From here you can widen the window and re-run the query without leaving the dashboard.

Extend time range

The primary action in the empty state is Extend time range. Select it to widen the panel's time window to the next larger step and re-run the query.

  • Standard windows step up the zoom-out ladder: 15m, 45m, 2h, 7h, 21h, 1d, 2d, 3d, 1w, 2w, and 1 month. A 15-minute window widens to 45 minutes, a 45-minute window widens to 2 hours, and so on. When the new window matches one of these steps, the time picker shows it as a relative preset (for example, Last 45 minutes) instead of Custom.
  • Narrow custom or drag-zoomed windows shorter than 15 minutes expand about 3x around their midpoint until they reach 15 minutes, then follow the same ladder.
  • The window grows around its center. Once the widened end would move past the current time, the end anchors to now and the start moves further back instead.
  • At the widest step (1 month), Extend time range no longer appears.

Extending from a panel on the dashboard updates the dashboard's global time range, so every panel refreshes on the wider window. This is the same behavior as the zoom-out control in the dashboard toolbar.

Retry

When a retry handler is available, Retry appears as a secondary action alongside Extend time range and re-runs the query on the current window. If the window is already at the widest step and cannot be extended, Retry becomes the only action.

Loading state

After you select Extend time range, a loading spinner replaces the empty-state message while the widened query is in flight. The panel moves from the spinner directly to the rendered chart, or back to the empty state if the wider window still has no data.

Panel View modal

Opening a panel in its full-screen View modal gives that panel its own local time window, separate from the dashboard's global time range. If you move the modal's time window to a range with no data, the same Extend time range action appears. Extending inside the modal widens only the modal's local window. The dashboard's global time range, and any historical anchor set on the main dashboard, stay unchanged.

Last updated: July 30, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.