ico
Reference

Stored data

The ClickHouse tables and views ico writes and reads, and the names it stores metrics under.

Everything lives in one ClickHouse database, ico by default. Raw rows expire after 30 days, in whole days; replay results are kept until you delete them.

Tables

TableWritten fromOne row perKept
requeststhe gatewaysrequest the gateway proxied30 days
engine_spansthe engines' OpenTelemetry tracesengine span: queue, prefill, decode and end-to-end time, token counts30 days
engine_metricseach engine's /metricsscraped sample30 days
gpu_metricsthe GPU exportersscraped sample, with its telemetry level30 days
replay_runsico replayreplay run: replica, window, limits, budget, margin, statusalways
replay_resultsico replayconfig tested in a run, at each stagealways

Views

ViewGives
request_spansEvery request with its engine span, joined on trace id; has_span is false where the engine sent none.
usage_by_tenant(since, until)Requests, errors and tokens per replica, model and tenant.
replica_busy(since, until)Per replica, the seconds with at least one request in flight, and the span of time its requests cover.
replica_phases(since, until)Per replica, engine time in prefill and decode, with the tokens of the same requests.
replica_engine(since, until)Per replica, when its engine was first and last heard from, and the model it reports.
host_gpus(since, until)Per host, its GPUs, telemetry level and the window's average of each counter.

The parameterized views are queried like functions:

SELECT * FROM host_gpus(since = '2026-10-14 00:00:00', until = '2026-10-15 00:00:00')

Metric names

Engine and GPU metrics are stored under ico's own names and units, so queries and reports read the same across vLLM versions and exporters.

GPU metrics

NameUnitFrom dcgm-exporterFrom nvidia_gpu_exporterLevel
sm_active_ratio0 to 1DCGM_FI_PROF_SM_ACTIVEL3
sm_occupancy_ratio0 to 1DCGM_FI_PROF_SM_OCCUPANCYL3
tensor_active_ratio0 to 1DCGM_FI_PROF_PIPE_TENSOR_ACTIVEL3
dram_active_ratio0 to 1DCGM_FI_PROF_DRAM_ACTIVEL3
util_ratio0 to 1DCGM_FI_DEV_GPU_UTILnvidia_smi_utilization_gpu_ratioL2
memory_used_bytesbytesDCGM_FI_DEV_FB_USEDnvidia_smi_memory_used_bytesL1
memory_total_bytesbytesDCGM_FI_DEV_FB_TOTALnvidia_smi_memory_total_bytesL1
power_wattswattsDCGM_FI_DEV_POWER_USAGEnvidia_smi_power_draw_wattsL1

Engine metrics

NameWhat it counts
requests_running, requests_waitingRequests in the engine's batch, and queued for it
kv_cache_usageShare of the KV cache in use
prompt_tokens_total, generation_tokens_totalTokens processed and generated, cumulative
prefix_cache_queries_total, prefix_cache_hits_totalPrefix cache lookups and hits, cumulative
preemptions_totalRequests evicted to free KV cache, cumulative
ttft_seconds, inter_token_latency_seconds, queue_time_seconds, prefill_time_seconds, decode_time_secondsHistograms, stored as _bucket, _sum and _count

Each maps every name vLLM has used for it, from 0.10 to 0.31.

Copyright © 2026