> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Visualizations and dashboards with ClickStack

> Visualizations and dashboards with ClickStack

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

ClickStack supports visualizing events, with built-in support for charting in ClickStack UI (HyperDX). These charts can be added to dashboards for sharing with other users.

Visualizations can be created from traces, metrics, logs, or any user-defined wide event schemas.

<h2 id="creating-visualizations">
  Creating visualizations
</h2>

The **Chart Explorer** interface in HyperDX allows you to visualize metrics, traces, and logs over time, making it easy to create quick visualizations for data analysis. This interface is also reused when creating dashboards. The following section walks through the process of creating a visualization using Chart Explorer.

Each visualization begins by selecting a **data source**, followed by a **metric**, with optional **filter expressions** and **group by** fields. Conceptually, visualizations in HyperDX map to a SQL `GROUP BY` query under the hood — you define metrics to aggregate across selected dimensions.

<Tip>
  **AI-powered chart generation**

  ClickStack also supports creating charts from natural language prompts using the [text-to-chart](/clickstack/text-to-chart) feature. Describe what you want to see, and ClickStack generates the visualization automatically.
</Tip>

For example, you might chart the number of errors (`count()`) grouped by service name.

For the examples below, we use the remote dataset available at [sql.clickhouse.com](https://sql.clickhouse.com), described in the guide ["Remote Demo Dataset"](/clickstack/example-datasets/remote-demo-data). **You can also reproduce these examples by visiting [play-clickstack.clickhouse.com](https://play-clickstack.clickhouse.com).**

<Steps>
  <Step>
    <h3 id="navigate-chart-explorer">
      Navigate to Chart Explorer
    </h3>

    Select `Chart Explorer` from the left menu.

    <Image img="https://mintlify.s3.us-west-1.amazonaws.com/private-7c7dfe99-mintlify-8c05c8a2/images/use-cases/observability/clickstack-visualization-1.png" alt="Chart Explorer" size="lg" />
  </Step>

  <Step>
    <h3 id="create-visualization">
      Create visualization
    </h3>

    In the example below, we chart the average request duration over time per service name. This requires the user to specify a metric, a column (which can be a SQL expression), and an aggregation field.

    Select the `Line/Bar` visualization type from the top menu, followed by the `Traces` (or `Demo Traces` if using [play-clickstack.clickhouse.com](https://play-clickstack.clickhouse.com)) dataset. Complete the following values:

    * Metric: `Average`
    * Column: `Duration/1000`
    * Where: `<empty>`
    * Group By: `ServiceName`
    * Alias: `Average Time`

    <Image img="https://mintlify.s3.us-west-1.amazonaws.com/private-7c7dfe99-mintlify-8c05c8a2/images/use-cases/observability/clickstack-visualization-2.png" alt="Simple visualization" size="lg" />

    Note that you can filter events using either a SQL `WHERE` clause or Lucene syntax and set the time frame over which events should be visualized. Multiple series are also supported.

    For example, filter by the service `frontend` by adding the filter `ServiceName:"frontend"`. Add a second series for the count of events over time with the alias `Count` by clicking `Add Series`.

    <Image img="https://mintlify.s3.us-west-1.amazonaws.com/private-7c7dfe99-mintlify-8c05c8a2/images/use-cases/observability/clickstack-visualization-3.png" alt="Simple visualization 2" size="lg" />

    To build a series similar to an existing one, you can duplicate it instead of starting from scratch. Click the copy icon (`Duplicate series`) on a series row to insert a copy directly below. The copy keeps the source series' settings, such as the metric, column, and filter. You then change only the fields that differ (for example the aggregation) and give the copy its own alias. Duplicating is available wherever multiple series are supported. It is hidden for visualization types that allow only one series, such as `Number`, `Pie`, and `Heatmap`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/brNmKxVjpyGdH7Ao/images/use-cases/observability/clickstack-duplicate-series.png?fit=max&auto=format&n=brNmKxVjpyGdH7Ao&q=85&s=a05175b4a73d78ea4f07f3a9a615796e" alt="The Duplicate series copy icon and its tooltip on a chart series row" size="lg" width="3348" height="322" data-path="images/use-cases/observability/clickstack-duplicate-series.png" />

    To build a series similar to an existing one, you can duplicate it instead of starting from scratch. Click the copy icon (`Duplicate series`) on a series row to insert a copy directly below. The copy keeps the source series' settings, such as the metric, column, and filter. You then change only the fields that differ (for example the aggregation) and give the copy its own alias. Duplicating is available wherever multiple series are supported. It is hidden for visualization types that allow only one series, such as `Number`, `Pie`, and `Heatmap`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/brNmKxVjpyGdH7Ao/images/use-cases/observability/clickstack-duplicate-series.png?fit=max&auto=format&n=brNmKxVjpyGdH7Ao&q=85&s=a05175b4a73d78ea4f07f3a9a615796e" alt="The Duplicate series copy icon and its tooltip on a chart series row" size="lg" width="3348" height="322" data-path="images/use-cases/observability/clickstack-duplicate-series.png" />

    <Note>
      Visualizations can be created from any data source — metrics, traces, or logs. ClickStack treats all of these as wide events. Any **numeric column** can be charted over time, and **string**, **date**, or **numeric** columns can be used for groupings.

      This unified approach allows you to build dashboards across telemetry types using a consistent, flexible model.
    </Note>
  </Step>
</Steps>

<h2 id="creating-dashboards">
  Creating dashboards
</h2>

Dashboards provide a way to group related visualizations, enabling you to compare metrics and explore patterns side by side to identify potential root causes in your systems. These dashboards can be used for ad-hoc investigations or saved for ongoing monitoring.

Global filters can be applied at the dashboard level, automatically propagating to all visualizations within that dashboard. This allows for consistent drill-down across charts and simplifies correlation of events across services and telemetry types.

We create a dashboard with two visualizations below using the log and trace data sources. These steps can be reproduced on [play-clickstack.clickhouse.com](https://play-clickstack.clickhouse.com) or locally by connecting to the dataset hosted on [sql.clickhouse.com](https://sql.clickhouse.com), as described in the guide ["Remote Demo Dataset"](/clickstack/example-datasets/remote-demo-data).

<Steps>
  <Step>
    <h3 id="navigate-dashboards">
      Navigate to Dashboards
    </h3>

    Select `Dashboards` from the left menu. Then click `New Dashboard` to create a temporary or saved dashboard.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-1.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=8aa8063a544674eaea79c867ac2edc09" alt="Create Dashboard" size="lg" width="1467" height="595" data-path="images/use-cases/observability/hyperdx-dashboard-1.png" />
  </Step>

  <Step>
    <h3 id="create-a-tile">
      Create a visualization – average request time by service
    </h3>

    Select `Add New Tile` to open the visualization creation panel.

    Select the `Line/Bar` visualization type from the top menu, followed by the `Traces` (or `Demo Traces` if using [play-clickstack.clickhouse.com](https://play-clickstack.clickhouse.com)) dataset. Complete the following values to create a chart showing the average request duration over time per service name:

    * Chart Name: `Average duration by service`
    * Metric: `Average`
    * Column: `Duration/1000`
    * Where: `<empty>`
    * Group By: `ServiceName`
    * Alias: `Average Time`

    Click the **play** button before clicking `Save`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-2.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=07d9d20e4400f2383a24b9d277391a50" alt="Create Dashboard Visualization" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-2.png" />

    Resize the visualization to occupy the full width of the dashboard.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-3.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=969fa623a75cd9ccce3430b214fe31be" alt="Dashboard with visuals" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-3.png" />
  </Step>

  <Step>
    <h3 id="create-a-tile-2">
      Create a visualization – events over time by service
    </h3>

    Select `Add New Tile` to open the visualization creation panel.

    Select the `Line/Bar` visualization type from the top menu, followed by the `Logs` (or `Demo Logs` if using [play-clickstack.clickhouse.com](https://play-clickstack.clickhouse.com)) dataset. Complete the following values to create a chart showing the count of events over time per service name:

    * Chart Name: `Event count by service`
    * Metric: `Count of Events`
    * Where: `<empty>`
    * Group By: `ServiceName`
    * Alias: `Count of events`

    Click the **play** button before clicking `Save`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-4.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=5e6759d0325f69f9bceb5c2a95adf218" alt="Dashboard Visualization 2" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-4.png" />

    Resize the visualization to occupy the full width of the dashboard.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-5.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=02c718a3b03702dc3c2e19fa24a74e2f" alt="Dashboard with visuals 2" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-5.png" />
  </Step>

  <Step>
    <h3 id="create-a-tile-heatmap">
      Add a heatmap tile for span duration
    </h3>

    Heatmap tiles plot the count of events falling into each (time, value) bucket as a colored grid. Use a heatmap when you want to see the **shape** of a distribution over time, not just the average or a single percentile. A latency heatmap reveals bimodal duration patterns, slow-tail clusters, or sudden spreads that a Line chart would average away.

    To add a heatmap tile:

    1. Select `Add New Tile`.
    2. Choose the `Heatmap` visualization type from the top menu. The data source dropdown only shows sources whose [source type is `Traces`](/clickstack/managing/config#traces). Logs, metrics, and session sources are filtered out, since heatmaps need a span duration column that only traces sources provide.
    3. Pick any of your traces sources by name. The name itself is arbitrary, only the type matters.

    Once a source is selected, the heatmap pre-fills:

    * **Value**: the source's `Duration Expression`, scaled to the current display unit (for example `(Duration)/1e6` to convert each event's span duration from nanoseconds to milliseconds)
    * **Count**: `count()`

    4. Set a chart name, and use `Where` to scope the heatmap to a specific service or set of operations whose performance you want to observe.
    5. Adjust the time range to match the period of interest. Wider ranges expose distribution shifts and bimodal latency patterns that shorter windows can hide.

    The example below shows a single service over a 24 hour window, with the fast and slow paths of its span duration clearly separated into two horizontal bands.

    To customize the heatmap further, click **Display Settings** to open a drawer for the **Scale** (Log or Linear), **Value**, and **Count** expression. The full list of options are documented in [Customize the heatmap](/clickstack/features/event-deltas#customize) on the Event Deltas page. The same drawer is reused.

    Click `Run` to preview the chart, then `Save`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/heatmap-tile-editor.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=9e85b314113af257839354e496125ac6" alt="Heatmap tile editor with span duration defaults pre-filled, ServiceName payment filter, and Display Settings button" size="lg" width="1600" height="900" data-path="images/clickstack/dashboards/heatmap-tile-editor.png" />

    The saved tile renders as a heatmap on the dashboard. Hover any cell to see the bucket bounds and event count.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/heatmap-tile-rendered.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=f215a95e2b3a5129450a022c25322856" alt="Heatmap dashboard tile showing payment service span duration distribution over 24 hours" size="lg" width="1600" height="900" data-path="images/clickstack/dashboards/heatmap-tile-rendered.png" />

    <Tip>
      **Two ClickHouse queries per heatmap**

      The heatmap runs as two sequential queries: a small **bounds query** that resolves the value range, then a **heatmap query** that counts events per bucket. Both queries are visible in the editor under **Generated SQL** if you want to inspect or copy them.
    </Tip>

    <h4 id="heatmap-tile-drilldown">
      Drill down to Event Deltas
    </h4>

    Click any cell on a rendered heatmap tile to open a **View in Event Deltas** action.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/heatmap-tile-drilldown.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=11774eb80f29f93a0ff9407a60cb455c" alt="Heatmap cell click revealing the View in Event Deltas action" size="lg" width="1600" height="900" data-path="images/clickstack/dashboards/heatmap-tile-drilldown.png" />

    Selecting it opens the [Event Deltas](/clickstack/features/event-deltas) view with the tile's data source, `Where` clause, and time range carried over. From there you can examine the same distribution interactively, slice by attribute to see what makes the slow spans different from the fast ones, and inspect the individual spans behind any cell, without rebuilding the query by hand.
  </Step>

  <Step>
    <h3 id="filter-dashboards">
      Filter dashboard
    </h3>

    Lucene or SQL filters, along with the time range, can be applied at the dashboard level and will automatically propagate to all visualizations.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-filter.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=6ecae6397e9cf3c0b836ea7e80454ac0" alt="Dashboard with filtering" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-filter.png" />

    To demonstrate, apply the Lucene filter `ServiceName:"frontend"` to the dashboard and modify the time window to cover the Last 3 hours. Note how the visualizations now reflect data only from the `frontend` service.

    The dashboard will be auto-saved. To set the dashboard name, select the title and modify it before clicking `Save Name`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-save.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=bf1f98c977c0c079ed61b9c3a548e7f5" alt="Dashboard save" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-save.png" />
  </Step>
</Steps>

<h2 id="dashboards-editing-visualizations">
  Dashboards - editing visualizations
</h2>

To remove, edit, or duplicate a visualization, hover over it and use the corresponding action buttons.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-edit.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=445ad4e238e2212d2a45ae8de8a2699b" alt="Dashboard edit" size="lg" width="3120" height="848" data-path="images/use-cases/observability/hyperdx-dashboard-edit.png" />

<h3 id="tile-display-settings">
  Tile display settings
</h3>

Each tile has a **Display Settings** drawer for options that control how its value is rendered. Open it from the tile editor by clicking **Display Settings**. The available options depend on the visualization type.

Number tiles can show a **background chart**: a trend sparkline drawn behind the value, so its movement over the selected time range is visible at a glance. This is useful for SLO and error-budget tiles, where how a value is trending matters as much as its current reading.

With a number tile selected, open **Display Settings** and set **Background chart** to **Line** or **Area** (or **None** to turn it off). The sparkline is derived from a time-bucketed version of the tile's query, so no extra configuration is needed. It inherits the tile color by default; set a **Background color** to override it with a specific palette color.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/number-tile-background-chart.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=b43f499c825f3095cbf2d8cb494be8a0" alt="Display Settings drawer for a number tile, with Background chart set to Area" size="lg" width="1600" height="1000" data-path="images/clickstack/dashboards/number-tile-background-chart.png" />

Background charts apply to query-builder number tiles. Raw SQL number tiles return a single value with no time dimension to bucket, so the option appears but is disabled for them.

<h2 id="dashboard-listing-search">
  Dashboard - Listing and search
</h2>

Dashboards are accessible on the dashboards page. They are organized by tag, with built-in search and filtering to quickly locate specific dashboards.

Dashboards can be favorited for easy access on the sidebar and at the top of the listing page. Favorites are individual to each user.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-search.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=8a1f170a9cc8ac5737327798e786540b" alt="Dashboard search" size="lg" width="1466" height="878" data-path="images/use-cases/observability/hyperdx-dashboard-search.png" />

<h2 id="tagging">
  Dashboards - tagging
</h2>

You can add tags to dashboards and saved searches to help organize them.
Tags provide a flexible way to categorize and filter based on your needs.

<h4 id="how-tags-work">
  How tags work
</h4>

* **Organization**: Tags appear in the left sidebar, where dashboards and saved searches are grouped by their assigned tags
* **Multiple tags**: You can add one or more tags to a single item for better categorization
* **Auto-creation**: If you assign a tag that doesn't exist yet, it will be automatically created
* **Easy management**: You can add or remove tags at any time to adjust your organization structure

This makes it easy to find related items and maintain an organized workspace as your collection grows.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/brNmKxVjpyGdH7Ao/images/use-cases/observability/clickstack-tags-search.png?fit=max&auto=format&n=brNmKxVjpyGdH7Ao&q=85&s=de4939b1a5e424b97ce950fe39a6587f" alt="Tags in saved search" size="md" border width="743" height="230" data-path="images/use-cases/observability/clickstack-tags-search.png" />

You can also select multiple tags to filter and view items across different categories:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/brNmKxVjpyGdH7Ao/images/use-cases/observability/clickstack-tags-dashboard.png?fit=max&auto=format&n=brNmKxVjpyGdH7Ao&q=85&s=e028f0222150880f753ba65d4bdfc326" alt="Multiple tags selected in dashboard" size="md" border width="529" height="252" data-path="images/use-cases/observability/clickstack-tags-dashboard.png" />

<h2 id="custom-filters">
  Custom filters
</h2>

In addition to the [free-text filters](#filter-dashboards) available on all dashboards, saved dashboards support custom dropdown filters populated by data queried from ClickHouse. These provide reusable, point-and-click filter controls so that dashboard viewers can filter without writing expressions manually.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/filter-dropdown.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=12a756f29196f6e2d7c8f8e5ce1b410b" alt="Services dropdown filter showing available service names" size="lg" width="3812" height="1910" data-path="images/clickstack/dashboards/filter-dropdown.png" />

The following steps demonstrate adding a custom filter to the dashboard created in the ["Creating dashboards"](#creating-dashboards) section.

<Steps>
  <Step>
    <h3 id="open-edit-filters">
      Open the Edit Filters dialog
    </h3>

    Open a saved dashboard and select **Edit Filters** from the toolbar.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/edit-filters.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=1c46691cd6c817e24ed98c6a9d028513" alt="Edit Filters button in the dashboard toolbar" size="lg" width="3814" height="1908" data-path="images/clickstack/dashboards/edit-filters.png" />
  </Step>

  <Step>
    <h3 id="add-new-filter">
      Add a new filter
    </h3>

    Click **Add new filter**. Configure the filter by providing a **Name**, selecting a **Data source**, and entering a **Filter expression** — a SQL column or expression whose distinct values will populate the dropdown. Click **Save filter**.

    For example, to add a service filter for trace data, use `ServiceName` as the filter expression with the `Traces` data source. The "Dropdown values filter" is optional, and provides a way to restrict which values appear in the dropdown.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/add-filter.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=07ea0821f13932817996e50bd7fdf3b5" alt="Add filter dialog with Name, Data source, and Filter expression fields" size="md" width="436" height="454" data-path="images/clickstack/dashboards/add-filter.png" />

    The Filters modal shows all configured filters for the dashboard. From here you can edit or delete existing filters, or add additional ones.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/saved-filters.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=ac7011a8fac6dc1a9aad779fcddc3326" alt="Filters modal showing a configured Services filter" size="md" width="764" height="452" data-path="images/clickstack/dashboards/saved-filters.png" />
  </Step>

  <Step>
    <h3 id="use-filter">
      Use the filter
    </h3>

    Close the Filters modal. The new dropdown filter appears below the search bar. Click it to see the available values, then select one to filter all visualizations on the dashboard.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/filtered-dashboard.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=17672ba4e01a5bf9fa10fe237eb1a923" alt="Dashboard filtered to the frontend service" size="lg" width="3812" height="1910" data-path="images/clickstack/dashboards/filtered-dashboard.png" />
  </Step>

  <Step>
    <h3 id="save-default-filters">
      (Optional) Save filter values as default
    </h3>

    To persist a filter selection as the dashboard default, choose **Save Query & Filters as Default** from the dashboard menu. The dashboard will always open with the selected filters applied. To reset, select **Remove Default Query & Filters** from the same menu.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/save-filter-values.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=d3a3407b665acfce5e7aa4fec0333d50" alt="Dashboard menu showing Save Query and Filters as Default option" size="lg" width="3812" height="1936" data-path="images/clickstack/dashboards/save-filter-values.png" />
  </Step>
</Steps>

<Note>
  Custom dropdown filters are available on saved dashboards. For an example of this pattern in action, see the [Kubernetes dashboard](#kubernetes-dashboard), which provides built-in dropdown filters for Pod, Deployment, Node name, Namespace, and Cluster.
</Note>

<h2 id="drilldown-to-search">
  Drilldown to search
</h2>

Dashboard tiles support drilldown to the Search page. Click on a data point in a visualization to open a context menu with the following options:

* **View All Events** — navigates to the Search page showing all events from the selected time window.
* **Filter by group** — navigates to the Search page filtered to a specific series.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/GaEHa-fd8w_5w7tQ/images/clickstack/dashboards/drilldown.png?fit=max&auto=format&n=GaEHa-fd8w_5w7tQ&q=85&s=28ae791945535db4f173756ae0802fa7" alt="Drilldown context menu showing View All Events and Filter by group options" size="lg" width="3812" height="1910" data-path="images/clickstack/dashboards/drilldown.png" />

This is useful for investigating specific spikes or anomalies spotted in a dashboard — you can quickly pivot from an aggregated view to the underlying individual events.

<h2 id="presets">
  Presets
</h2>

HyperDX is deployed with out-of-the-box dashboards.

<h3 id="clickhouse-dashboard">
  ClickHouse dashboard
</h3>

This dashboard provides visualizations for monitoring ClickHouse. To navigate to this dashboard, select it from the left menu.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-clickhouse.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=e5e7c1cf0d8eddf824aa1c8c567ab419" alt="ClickHouse dashboard" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-clickhouse.png" />

This dashboard uses tabs to separate monitoring of **Selects**, **Inserts**, and **ClickHouse Infrastructure**.

<Info>
  **Required system table access**

  This dashboard queries the ClickHouse [system tables](/reference/system-tables/index) to expose key metrics. The following grants are required:

  `GRANT SHOW COLUMNS, SELECT(CurrentMetric_MemoryTracking, CurrentMetric_S3Requests, ProfileEvent_OSCPUVirtualTimeMicroseconds, ProfileEvent_OSReadChars, ProfileEvent_OSWriteChars, ProfileEvent_S3GetObject, ProfileEvent_S3ListObjects, ProfileEvent_S3PutObject, ProfileEvent_S3UploadPart, event_time) ON system.metric_log`

  `GRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.parts`

  `GRANT SHOW COLUMNS, SELECT(event_date, event_time, memory_usage, normalized_query_hash, query, query_duration_ms, query_kind, read_rows, tables, type, written_bytes, written_rows) ON system.query_log`

  `GRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log`
</Info>

<h3 id="services-dashboard">
  Services dashboard
</h3>

The Services dashboard displays currently active services based on trace data. This requires you to have collected traces and configured a valid Traces data source.

Service names are auto-detected from the trace data, with a series of prebuilt visualizations organized across three tabs: HTTP Services, Database, and Errors.

Visualizations can be filtered using Lucene or SQL syntax, and the time window can be adjusted for focused analysis.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-services.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=8481a2815899a2c686b5c421944038c2" alt="ClickHouse services" size="lg" width="3600" height="1930" data-path="images/use-cases/observability/hyperdx-dashboard-services.png" />

<h3 id="kubernetes-dashboard">
  Kubernetes dashboard
</h3>

This dashboard allows you to explore Kubernetes events collected via OpenTelemetry. It includes advanced filtering options, enabling you to filter by Kubernetes Pod, Deployment, Node name, Namespace, and Cluster, as well as perform free-text searches.

Kubernetes data is organized across three tabs for easy navigation: Pods, Nodes, and Namespaces.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-dashboard-kubernetes.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=3f867fecbe9a3759447d241b7eac7f52" alt="ClickHouse kubernetes" size="lg" width="3022" height="1576" data-path="images/use-cases/observability/hyperdx-dashboard-kubernetes.png" />
