> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dashboard templates

> Importing pre-built dashboard templates in ClickHouse Observability

ClickHouse Observability includes a library of pre-built dashboard templates that help you visualize common infrastructure and application telemetry. Charts display data once your ClickHouse service receives the telemetry required by the template.

## Browsing available templates

To browse the built-in template library, navigate to **Dashboards** and click **Browse dashboard templates**.

![Browse Dashboard Templates Button](https://mintcdn.com/private-7c7dfe99/dW6bcEakZdn3a5oP/images/clickstack/observability-browse-dashboard-templates.png?fit=max\&auto=format\&n=dW6bcEakZdn3a5oP\&q=85\&s=a6997d5d001855a26601b46fec02169e)

This opens the template gallery, where templates are organized by category. Click **Import** on the template you want to use.

![Dashboard Template Gallery](https://mintcdn.com/private-7c7dfe99/dW6bcEakZdn3a5oP/images/clickstack/observability-dashboard-template-gallery.png?fit=max\&auto=format\&n=dW6bcEakZdn3a5oP\&q=85\&s=04cfd4dc0ccc0ef295c8a8acca7ef8d7)

## Importing a template

In **Step 2: Map Data**, review the **Dashboard Name** and **Tags**, then confirm the data source in the **To** column for each tile and filter. Sources may already be selected. In the example below, the Node.js Runtime Metrics template maps its charts and service filter to the **Metrics** source. Click **Finish Import** to create the dashboard.

![Dashboard Template Import](https://mintcdn.com/private-7c7dfe99/dW6bcEakZdn3a5oP/images/clickstack/observability-import-dashboard-template.png?fit=max\&auto=format\&n=dW6bcEakZdn3a5oP\&q=85\&s=6e2299f9ad4736d679cb120a3bd86406)

## Pre-built templates

### Browser RUM

The **Browser RUM** (real user monitoring) template provides Core Web Vitals, page-load percentiles, traffic breakdowns, and error tracking. It uses browser sessions instrumented with the HyperDX Browser SDK or OpenTelemetry RUM instrumentation that emits `rum.sessionId`.

### OTel runtime metrics

The built-in OTel Runtime Metrics templates are designed for applications instrumented with [OpenTelemetry runtime metrics](https://opentelemetry.io/docs/specs/semconv/runtime/).

| Template | Description |
| - | - |
| **.NET Runtime Metrics** | Garbage collection, heap fragmentation, exceptions, thread pool usage, and CPU metrics for .NET applications |
| **Go Runtime Metrics** | Memory usage, allocations, GC targets, CPU utilization, and goroutine metrics for Go applications |
| **JVM Runtime Metrics** | Heap memory, CPU utilization, threads, and GC metrics for JVM-based applications |
| **Node.js Runtime Metrics** | Event loop delay, heap usage, CPU utilization, and V8 memory for Node.js applications |
| **Python Runtime Metrics** | CPU utilization, memory usage, GC collections, and thread count for Python applications |

Notes:

* Each template is configured with a [custom filter](https://clickhouse.com/docs/clickstack/observability/features/dashboards/overview.md#custom-filters) for services whose [`telemetry.sdk.language`](https://opentelemetry.io/docs/specs/semconv/registry/attributes/telemetry/#telemetry-sdk-language) resource attribute matches the dashboard's runtime.
* Metric names can vary between OpenTelemetry SDK versions. If your SDK emits different metric names, [edit the visualizations](https://clickhouse.com/docs/clickstack/observability/features/dashboards/overview.md#dashboards-editing-visualizations) to match your data.

## Self-managed schemas

For self-managed deployments with custom metric table schemas, adjust the template's service filter to query the appropriate service-name and resource-attribute columns. For high-volume workloads, consider [materializing frequently queried attributes](https://clickhouse.com/docs/clickstack/self-configured/managing/performance-tuning.md#materialize-frequently-queried-attributes), such as `ResourceAttributes['telemetry.sdk.language']`, to reduce filter load times.
