inference/research
verifiedhigh · 0.94updated 2026-10-04

llama.cpp average generation throughput gauge

llama-cpp · gauge

Fields

id
metric-exposures/w3m-llama-cpp-llamacpp-predicted-tokens-seconds
Metric name
llamacpp:predicted_tokens_seconds
Metric type
gauge
Unit
tokens/s
Exposure
prometheus
Endpoint
/metrics (--metrics; router mode requires ?model={model_id})
Enabled by default
no
notes
llama.cpp master, server_task_result_metrics::to_metrics() in tools/server/server-task.cpp, read 2026-10-04. Off by default: '--metrics enable prometheus compatible metrics endpoint (default: disabled)' (env LLAMA_ARG_ENDPOINT_METRICS), and 'This endpoint is only accessible if --metrics is set'. The body is assembled by string concatenation with no Prometheus client library, so there are NO labels at all and no multiprocess mode - every series is a bare name-plus-value line. In router mode /metrics requires ?model={model_id} or returns HTTP 400. Same token-bucket average, same naming oddity. This is llama.cpp's closest thing to a token-throughput metric and it is a rolling lifetime average, not a windowed rate.

Notes

llama.cpp master, server_task_result_metrics::to_metrics() in tools/server/server-task.cpp, read 2026-10-04. Off by default: '--metrics enable prometheus compatible metrics endpoint (default: disabled)' (env LLAMA_ARG_ENDPOINT_METRICS), and 'This endpoint is only accessible if --metrics is set'. The body is assembled by string concatenation with no Prometheus client library, so there are NO labels at all and no multiprocess mode - every series is a bare name-plus-value line. In router mode /metrics requires ?model={model_id} or returns HTTP 400. Same token-bucket average, same naming oddity. This is llama.cpp's closest thing to a token-throughput metric and it is a rolling lifetime average, not a windowed rate.

Cross-references