Metrics
Real-time and background-calculated server metrics, counters, and CPU profiling data from ClickHouse system tables.
See live server counters, background-calculated resource metrics, and per-processor CPU profiling — three views of server-level performance.
Prop
Type
What it does
The Metrics section exposes three views of server-level performance data.
Metrics queries system.metrics for live counters: active connections, threads, merges in flight, and hundreds of other real-time gauges. Values reset when the server restarts.
Async Metrics queries system.asynchronous_metrics, which are updated in the background on a schedule (not per-query). These include CPU load, memory usage, uptime, and OS-level stats. Useful for dashboards and alerting.
Profiler queries system.processors_profile_log to show CPU time broken down by query processor (pipeline step). Use it to find which stage of query execution is consuming the most CPU.
Pages
| Page | Route | What it shows | System tables |
|---|---|---|---|
| Metrics | /metrics | Live server metrics and counters | system.metrics |
| Async Metrics | /asynchronous-metrics | Background-calculated resource metrics | system.asynchronous_metrics |
| Profiler | /profiler | CPU profiling data per query processor | system.processors_profile_log |
Using it
- Open
/metricsfor live gauges — active connections, threads, in-flight merges. These reset on server restart. - Use
/asynchronous-metricsfor background-calculated resource stats (CPU load, memory, uptime, OS-level) suited to dashboards and alerting. - Open
/profilerto break CPU time down by query processor and find the pipeline stage consuming the most CPU.
Permissions & access
All three pages share the metrics feature id.
CHM_FEATURE_METRICS_ACCESS=authenticatedCHM_FEATURE_METRICS_ENABLED=false[features.metrics]
enabled = true
access = "authenticated"Configuration
No feature-specific configuration. The profiler page requires system.processors_profile_log to be populated, which depends on <processors_profile_log> being enabled in the ClickHouse server config.
Notes & limitations
Profiler requires explicit enablement
system.processors_profile_log must be enabled in the ClickHouse server config via <processors_profile_log>. If it is absent, the Profiler page shows an empty state.
system.metricsvalues are live and reset on restart. They do not persist history. For trending, usesystem.asynchronous_metricsorsystem.metric_log(not yet surfaced in chmonitor).- Async metrics are recalculated on a server-defined interval (typically every few seconds); values may lag slightly behind real-time.