Production tests verify domain specific metrics for a production deployment, such as query latency
or error rate. Unlike system and staging
tests, production tests check a named metric preset against expected
bounds, using Grafana metrics for the application deployed to that zone.
A production test is placed after a deployment zone in deployment.xml.
It acts as a gate for the rollout: if it fails, the rollout stops and subsequent zones will not
receive the new version. This is useful in multi-zone deployments where the first zone serves as a
canary, but a production test can validate any zone before the rollout proceeds to the next,
as described in
production tests.
Production test setup
To use production tests, first deploy to a zone, use
<delay> for some time, and then
run the production tests against that zone. This pattern can be repeated for each zone in the
pipeline, to validate it before the rollout proceeds to the next. In the following example,
the zone is deployed, then the delay waits 10 minutes, and lastly the production test waits
for an additional 10 minutes before aggregating the last 10 minutes of metrics data:
<prod><region>aws-us-east-1c</region><delayminutes="10"/><test>aws-us-east-1c</test><!-- Deploy to the rest of the zones... --></prod>
Note:
Tests based on traffic metrics, such as query or feed latency, need
real queries or feeding against the zone during the test window, since without traffic there are no
metrics to evaluate and the test will fail.
Test suites
Production tests are placed under tests/production-test/ in the application package,
as one or more .yaml or .json files:
$ ls tests/production-test/
tests/production-test/metrics-test.yaml
Each file describes one or more tests. A file may contain:
a single test, as one YAML or JSON object; or
multiple tests, as a YAML or JSON object with a tests field containing a list of test objects.
Test file structure
Each test checks a named metric preset, over a duration window, against a
min and/or max bound. A simple example:
This test fails the production test step if the average CPU utilization of the container cluster,
over the last 5 minutes, exceeds 85%.
To place multiple tests in one file, wrap them in a top-level tests field, containing a
list of test objects. This works the same way for both YAML and JSON:
tests:-name:container cpu checkmetric:cpu-utilization-containerduration:5mmax:35-name:content cpu checkmetric:cpu-utilization-contentduration:5mmax:85
Test specification
A full list of fields, with description:
Name
Type
Default
Description
name
string
"<unnamed test>"
Name used for display purposes in logs and failure messages.
Required. The duration of the metrics aggregation. Suffix is one of s|m|h|d. For example,
duration: 10m means: first wait 10 minutes, then aggregate the last 10 minutes of
data. Tests can have different durations. Since tests run concurrently, the total waiting time
is determined by the highest duration value, not the sum.
min
number
The inclusive lower bound the query result must satisfy. At least one of min and
max is required. The unit depends on the metric preset
used, see its Unit column.
max
number
The inclusive upper bound the query result must satisfy. At least one of min and
max is required. The unit depends on the metric preset
used, see its Unit column.
A test that is outside its min/max bounds fails the production test step
immediately — production tests are not retried.
Every test checks one of the following named presets, in its metric field. Each preset
queries the same metrics that back the application's overview dashboard, reduced to a single number.
Presets are grouped below by the dashboard tab they come from.
The Console name column is a direct match to the graph title shown in that tab in the
Vespa Console's metrics view. Use it to
find the preset for a graph you're looking at there. The Metric column is the exact value to use
in the metric field, e.g. metric: query-latency-p95.
Overview
Console name
metric
Unit
Description
Buckets Out of Sync (%)
buckets-out-of-sync
percentage (0-100)
Percentage of buckets currently out of sync, fleet-wide.
Container: % Nodes Down
container-nodes-down
percentage (0-100)
Percentage of active container nodes with at least one service down, fleet-wide.
Container Thread Saturation — document-api only
container-thread-saturation-document-api-only
percentage (0-100)
Worst-case container thread-pool utilization, fleet-wide, restricted to deployments running document-api only (no search).
Worst-case container thread-pool utilization, fleet-wide, restricted to deployments running both search and document-api.
Container Thread Saturation — search only
container-thread-saturation-search-only
percentage (0-100)
Worst-case container thread-pool utilization, fleet-wide, restricted to deployments running search only (no document-api).
Content Executor Saturation
content-executor-saturation
percentage (0-100)
Worst-case content-node executor utilization/saturation across the match, docsum, and field-writer executors, fleet-wide.
Content: Groups/Nodes Down
content-groups-nodes-down
count
Fleet-wide count of cluster groups currently reporting at least one down node.
Core Dumps (1h)
core-dumps
count
Total number of core dumps processed across content clusters during the time window.
Disk Utilization (max per cluster)
disk-utilization-container
percentage (0-100)
Maximum disk utilization across nodes in container clusters (logs, working files).
Disk Utilization (max per cluster)
disk-utilization-content
percentage (0-100)
Maximum disk utilization across nodes in content clusters.
Documents per Content Cluster (max)
documents-per-content-cluster-max
count
Maximum number of unique documents stored, aggregated across content clusters.
Feed Blocked
feed-blocked
count
Total number of nodes currently above the feed-block resource limit, across all content clusters.
Feed Latency (max)
feed-latency-max
milliseconds
Maximum feed latency observed (OK status only).
Headroom to Feed Block (per content cluster)
headroom-to-feed-block-per-content-cluster
percentage (0-100)
Smallest remaining headroom before the feed-block limit, across memory and disk, fleet-wide.
HTTP 2xx Responses (sum)
http-2xx-responses-sum
requests/second
Rate of successful (2xx) HTTP responses across the container cluster.
HTTP 4xx Responses (sum)
http-4xx-responses-sum
requests/second
Rate of client error (4xx) HTTP responses across the container cluster.
HTTP 5xx Responses (sum)
http-5xx-responses-sum
requests/second
Rate of server error (5xx) HTTP responses across the container cluster.
HTTP Read Latency (avg)
http-read-latency-avg
milliseconds
Average HTTP-level read latency, including time to receive the request and send the response.
HTTP Read Latency (max)
http-read-latency-max
milliseconds
Maximum HTTP-level read latency observed.
HTTP Read Latency (p95)
http-read-latency-p95
milliseconds
95th percentile HTTP-level read latency.
HTTP Read Latency (p99)
http-read-latency-p99
milliseconds
99th percentile HTTP-level read latency.
HTTP Write Latency (max)
http-write-latency-max
milliseconds
Maximum HTTP-level write latency observed.
JVM Heap Pressure
jvm-heap-pressure
percentage (0-100)
Fleet-wide average JVM heap utilization (heap used / heap capacity) across container clusters.
Memory Utilization (max per cluster)
memory-utilization-node-container
percentage (0-100)
Maximum OS-level memory utilization across nodes in container clusters.
Memory Utilization (max per cluster)
memory-utilization-node-content
percentage (0-100)
Maximum OS-level memory utilization across nodes in content clusters.
QoS - Read (success %)
qos-read-success
percentage (0-100)
Percentage of read requests that did not return a 5xx server error.
QoS - Write (success %)
qos-write-success
percentage (0-100)
Percentage of write requests that did not return a 5xx server error.
Query Latency (avg)
query-latency-avg
milliseconds
Average query latency across the container cluster (total latency divided by request count).
Query Latency (max)
query-latency-max
milliseconds
Maximum query latency observed across the container cluster.
Restarts (1h)
restarts
count
Total number of Vespa service restarts across the fleet during the time window.
Query
Console name
metric
Unit
Description
Degraded Queries (sum)
degraded-queries-sum
requests/second
Rate of queries that were degraded (soft-doomed or match-limited), summed across the container cluster.
Docs matched per query per rank profile
docs-matched-per-query-per-rank-profile
count
Average documents matched per query, aggregated across all rank profiles - a proxy for query selectivity.
Docsum executor accepted (rate)
docsum-executor-accepted-rate
operations/second
Average rate of docsum tasks accepted by the per-node docsum executor across content nodes.
Docsum executor queue size (max)
docsum-executor-queue-size-max
count
Peak length of the per-node docsum thread-pool queue on any single content node.
Docsum latency
docsum-latency-avg
seconds
Average summary-rendering (docsum) latency across content nodes, in seconds.
Docsum latency
docsum-latency-max
seconds
Peak summary-rendering (docsum) latency observed on any content node, in seconds.
Document summaries requested (rate)
document-summaries-requested-rate
requests/second
Document summaries requested per second across content nodes, derived from the docsum-latency sample count.
Documents Coverage
documents-coverage
percentage (0-100)
Percentage of the document corpus actually covered by search (documents covered vs. documents total).
Documents Matched (rate)
documents-matched-rate
operations/second
Documents matched per second across the content cluster, summed across all content nodes and rank profiles.
Empty Results (sum)
empty-results-sum
requests/second
Rate of queries returning zero results, summed across the container cluster.
Failed Queries (sum)
failed-queries-sum
requests/second
Rate of queries that failed, summed across the container cluster.
Grouping time per rank profile (avg)
grouping-time-per-rank-profile-avg
milliseconds
Average post-match time per query (result construction, grouping, packing), aggregated across all rank profiles and content nodes.
Grouping time per rank profile (peak)
grouping-time-per-rank-profile-peak
milliseconds
Peak post-match (grouping/result-construction) time observed in any snapshot interval, aggregated across all rank profiles.
Hits per Query (avg)
hits-per-query-avg
count
Average number of hits returned per query, weighted across the container cluster.
Match executor accepted (rate)
match-executor-accepted-rate
operations/second
Average rate of tasks accepted into the match executor across content nodes.
Match executor queue size (max)
match-executor-queue-size-max
count
Peak match thread-pool queue depth on any single content node.
Match Executor Utilization
match-executor-utilization-avg
percentage (0-100)
Average match-thread-pool utilization across content nodes, as a percentage.
Match Executor Utilization
match-executor-utilization-max
percentage (0-100)
Peak match-thread-pool utilization on any single content node, as a percentage.
Matching Queries (rate)
matching-queries-rate
requests/second
Per-node-average rate of queries being matched on content nodes.
Matching Query Latency (avg)
matching-query-latency-avg
milliseconds
Average matching-phase query latency across all content nodes and rank profiles.
Matching Query Setup Time (avg)
matching-query-setup-time-avg
milliseconds
Average per-query setup overhead (query decode, blueprint build, rank setup) on content nodes.
Queries per second by content group (min)
queries-per-second-by-content-group-min
requests/second
Lowest per-content-group query rate observed, deliberately using min to catch a failed node emitting stale/frozen metric values.
Queries per second per rank profile
queries-per-second-per-rank-profile
requests/second
Average per-(node, rank-profile) query rate observed at the content nodes.
Query Container Latency (avg)
query-container-latency-avg
milliseconds
Time spent inside the container processing the query, excluding backend dispatch.
Query Error Breakdown (sum)
query-error-breakdown-backend-comm
requests/second
Rate of queries that failed due to backend (content-node) communication errors.
Query Error Breakdown (sum)
query-error-breakdown-empty-docsums
requests/second
Rate of queries that failed because document summaries could not be retrieved.
Query Error Breakdown (sum)
query-error-breakdown-invalid-param
requests/second
Rate of queries that failed due to an invalid query parameter.
Query Error Breakdown (sum)
query-error-breakdown-timeout
requests/second
Rate of queries that failed due to a timeout error.
Query Error Breakdown (sum)
query-error-breakdown-unhandled
requests/second
Rate of queries that failed due to an unhandled exception in the container.
Query Latency (p95)
query-latency-p95
milliseconds
Average 95th percentile query latency.
Query Latency (p99)
query-latency-p99
milliseconds
Average 99th percentile query latency.
Query Rate (QPS)
query-rate-qps-avg
requests/second
Total application-wide query rate, summed across all container instances.
Query Rate (QPS)
query-rate-qps-peak
requests/second
Highest per-host peak queries-per-second observed across the container cluster.
Query Timeout (p99)
query-timeout-p99
milliseconds
99th percentile of the configured per-query timeout values actually applied by clients.
Rank Profile Query Latency (max)
rank-profile-query-latency-max
milliseconds
Peak per-query matching latency on content nodes, taken across all rank profiles combined.
Rerank time per rank profile (avg)
rerank-time-per-rank-profile-avg
milliseconds
Average second-phase rerank time per query, aggregated across all rank profiles and content nodes (no non-rank-profile-labeled equivalent metric exists to prefer instead).
Rerank time per rank profile (peak)
rerank-time-per-rank-profile-peak
milliseconds
Peak second-phase rerank time observed in any snapshot interval, aggregated across all rank profiles.
search-handler — Utilization
search-handler-utilization-avg
percentage (0-100)
Average utilization of the container's search-handler thread pool.
search-handler — Utilization
search-handler-utilization-max
percentage (0-100)
Peak utilization of the container's search-handler thread pool on any single host.
Search Protocol Query Latency (avg)
search-protocol-query-latency-avg
milliseconds
Average query latency measured at the search-protocol level on content nodes.
Search Protocol Query Latency (max)
search-protocol-query-latency-max
milliseconds
Maximum query latency measured at the search-protocol level on any content node.
Soft doom factor per rank profile
soft-doom-factor-per-rank-profile-avg
count
Average adaptive soft-timeout multiplier per query, aggregated across all rank profiles.
Soft doom factor per rank profile
soft-doom-factor-per-rank-profile-max
count
Highest adaptive soft-timeout multiplier observed for any rank profile.
Soft doom factor per rank profile
soft-doom-factor-per-rank-profile-min
count
Lowest adaptive soft-timeout multiplier observed for any rank profile.
Soft-doomed queries per rank profile (sum)
soft-doomed-queries-per-rank-profile-sum
requests/second
Rate of queries that hit the soft timeout, summed across all rank profiles and content nodes.
Rank Profile Query Latency (avg)
rank-profile-query-latency-avg
milliseconds
Average per-query matching latency on content nodes, taken across all rank profiles combined.
Query setup time per rank profile (avg)
query-setup-time-per-rank-profile-avg
milliseconds
Average per-query setup overhead (query decode, blueprint build, rank setup, plus post-match finalisation) per rank profile.
Feed
Console name
metric
Unit
Description
Container Feed Latency (max)
container-feed-latency-max
milliseconds
Maximum feed request latency observed at the container, across all operation types and clusters.
Container Feed Operations (sum)
container-feed-operations-sum
operations/second
Total feed operation rate (puts, updates, removes) handled by container clusters, summed across operation types.
Content: Commit Latency (avg)
content-commit-latency-avg
milliseconds
Average commit latency (time to commit fed changes to the index/store) on content nodes.
Content: Commit Operations (sum)
content-commit-operations-sum
operations/second
Rate of commit operations (batched writes applied to the index/store) on content nodes.
Content: Storage Feed Rates (sum)
content-storage-feed-rates-put
operations/second
Rate of PUT operations processed by the storage/persistence-engine layer on content nodes, counted per document replica.
Content: Storage Feed Rates (sum)
content-storage-feed-rates-remove
operations/second
Rate of REMOVE operations processed by the storage/persistence-engine layer on content nodes, counted per document replica.
Content: Storage Feed Rates (sum)
content-storage-feed-rates-update
operations/second
Rate of UPDATE operations processed by the storage/persistence-engine layer on content nodes, counted per document replica.
Content: Storage Put Latency (max)
content-storage-put-latency-max
milliseconds
Maximum PUT operation latency observed at the storage/persistence-engine layer on content nodes.
Content: Storage Update Latency
content-storage-update-latency-avg
milliseconds
Average UPDATE operation latency at the storage/persistence-engine layer on content nodes.
Content: Storage Update Latency
content-storage-update-latency-max
milliseconds
Maximum UPDATE operation latency observed at the storage/persistence-engine layer on content nodes.
Distributor Latency - gets (max)
distributor-latency-gets-max
milliseconds
Maximum get operation latency observed at the distributor level.
Distributor Latency - puts (max)
distributor-latency-puts-max
milliseconds
Maximum put operation latency observed at the distributor level.
Distributor Latency - removes (max)
distributor-latency-removes-max
milliseconds
Maximum remove operation latency observed at the distributor level.
Distributor Latency - updates (max)
distributor-latency-updates-max
milliseconds
Maximum update operation latency observed at the distributor level.
Distributor Latency - visitor (max)
distributor-latency-visitor-max
milliseconds
Maximum visitor operation latency observed at the distributor level.
Distributor Operation - gets - Failures (sum)
distributor-operation-gets-failures-sum
operations/second
Rate of failed get operations at the distributor level; non-zero values indicate issues with writes.
Distributor Operation - puts - Failures (sum)
distributor-operation-puts-failures-sum
operations/second
Rate of failed put operations at the distributor level; non-zero values indicate issues with writes.
Distributor Operation Rates - gets - OK (sum)
distributor-operation-rates-gets-ok-sum
operations/second
Rate of successfully completed (OK) get operations at the distributor level.
Distributor Operation Rates - puts - OK (sum)
distributor-operation-rates-puts-ok-sum
operations/second
Rate of successfully completed (OK) put operations at the distributor level.
Distributor Operation Rates - removes - OK (sum)
distributor-operation-rates-removes-ok-sum
operations/second
Rate of successfully completed (OK) remove operations at the distributor level.
Distributor Operation Rates - updates - OK (sum)
distributor-operation-rates-updates-ok-sum
operations/second
Rate of successfully completed (OK) update operations at the distributor level.
Distributor Operation Rates - visitor - OK (sum)
distributor-operation-rates-visitor-ok-sum
operations/second
Rate of successfully completed (OK) visitor operations at the distributor level.
Distributor Operation - removes - Failures (sum)
distributor-operation-removes-failures-sum
operations/second
Rate of failed remove operations at the distributor level; non-zero values indicate issues with writes.
Distributor Operation - updates - Failures (sum)
distributor-operation-updates-failures-sum
operations/second
Rate of failed update operations at the distributor level; non-zero values indicate issues with writes.
Distributor Operation - visitor - Failures (sum)
distributor-operation-visitor-failures-sum
operations/second
Rate of failed visitor operations at the distributor level; non-zero values indicate issues with writes.
Document Processing Latency (avg)
document-processing-latency-avg
milliseconds
Average document processing (docproc chain) latency.
Document Processing Rate (sum)
document-processing-rate-sum
operations/second
Rate of documents processed through document processing (docproc) chains, summed across all chains and clusters.
Feed Blocked (nodes above resource limit)
feed-blocked-nodes-above-resource-limit
count
Number of content nodes currently exceeding a resource usage limit; when greater than zero, feeding is blocked for that cluster.
Feed Latency (avg)
feed-latency-avg-ms
milliseconds
Average feed latency, in milliseconds, for successful feed operations.
HTTP API Feed Rates (sum)
http-api-feed-rates-put
operations/second
Rate of PUT operations received via the Document/HTTP API.
HTTP API Feed Rates (sum)
http-api-feed-rates-remove
operations/second
Rate of REMOVE operations received via the Document/HTTP API.
HTTP API Feed Rates (sum)
http-api-feed-rates-update
operations/second
Rate of UPDATE operations received via the Document/HTTP API.
HTTP API Latency (avg)
http-api-latency-avg
milliseconds
Average latency of Document/HTTP API requests, distinct from the generic jdisc HTTP layer latency.
HTTP API Pending Requests (max)
http-api-pending-requests-max
count
Maximum number of Document/HTTP API requests pending (in-flight, not yet completed) on the container.
HTTP API Success vs Failures (sum)
http-api-success-vs-failures-failed
operations/second
Rate of failed Document/HTTP API operations.
HTTP API Success vs Failures (sum)
http-api-success-vs-failures-parse-error
operations/second
Rate of Document/HTTP API operations rejected due to document parse errors.
HTTP API Success vs Failures (sum)
http-api-success-vs-failures-success
operations/second
Rate of successful Document/HTTP API operations.
HTTP Write Latency (avg)
http-write-latency-avg
milliseconds
Average end-to-end HTTP write request latency at the container's HTTP layer.
HTTP Write Latency (p95)
http-write-latency-p95
milliseconds
95th percentile HTTP write request latency at the container's HTTP layer.
HTTP Write Latency (p99)
http-write-latency-p99
milliseconds
99th percentile HTTP write request latency at the container's HTTP layer.
Memory Index — Documents (per document type)
memory-index-docs-in-memory-max
count
Maximum number of documents held in the in-memory index on content nodes, summed per content group (to combine per-node/stripe values) and maxed across groups (since each group holds a full replica) to avoid double-counting.
Persistence engine input queue
persistence-engine-input-queue-avg
count
Average depth of the per-node persistence engine's input operation queue (operations waiting to be dispatched to Proton) over the time window.
Persistence engine input queue
persistence-engine-input-queue-max
count
Maximum depth of the per-node persistence engine's input operation queue observed during the time window.
Persistence engine throttle saturation (max)
persistence-engine-throttle-saturation-active
count
Maximum number of concurrently active (in-flight) operations in the content node's persistence engine.
Persistence engine throttle saturation (max)
persistence-engine-throttle-saturation-throttle
count
Maximum size of the adaptive throttle window that caps concurrent operations in the content node's persistence engine.
Nearest Neighbor Search
Console name
metric
Unit
Description
ANN Timeout Rate (sum)
ann-timeout-rate-sum
requests/second
Rate of queries per second that terminated an approximate NNS search early after hitting the ANN timeout.
Approximate NNS Distances Computed (rate)
approximate-nns-distances-computed-rate
operations/second
Rate of distance computations performed during approximate NNS across the content cluster.
Approximate NNS Nodes Visited (rate)
approximate-nns-nodes-visited-rate
operations/second
Rate of HNSW graph nodes visited during approximate NNS across the content cluster.
Query Rate of Approximate Nearest Neighbor Search Queries
approximate-nns-query-rate
requests/second
Rate of incoming queries per second that perform an approximate nearest-neighbor search.
Query Approximate Nearest Neighbor Search Time
approximate-nns-time-avg
milliseconds
Average time spent performing approximate NNS, measured only across queries that actually perform it.
Query Approximate Nearest Neighbor Search Time
approximate-nns-time-max
milliseconds
Maximum time observed for a single query's approximate NNS work, on any content node.
Ratio of HNSW graph nodes visited to distances computed during approximate NNS; values above 1.0 indicate the filter-first (Acorn-1) heuristic is active.
Buckets Pending Merge (sum)
buckets-pending-merge-sum
count
Number of buckets currently pending merge across distributors, which rises during data redistribution or node recovery.
Documents Active (per document type)
documents-active-total
count
Total number of active documents (primary copies) across all document types and content nodes in the cluster.
Documents Ready (per document type)
documents-ready-total
count
Total number of ready (searchable) documents across all document types and content nodes in the cluster.
Exact NNS Distance Computation Ratio (exact / total)
exact-nns-distance-ratio-pct
percentage (0-100)
Share of NNS distance computations done via exact (brute-force) search rather than approximate search; high values may indicate the approximate-threshold is set too high.
Exact NNS Distances Computed (rate)
exact-nns-distances-computed-rate
operations/second
Rate of distance computations performed during exact (brute-force) NNS across the content cluster.
Query Latency
nns-query-latency-avg
milliseconds
Average total time (matching plus ranking) spent per query on the content nodes, specific to the NNS/matching pipeline.
Query Latency
nns-query-latency-max
milliseconds
Maximum total time (matching plus ranking) observed for a single query on any content node, specific to the NNS/matching pipeline.
Query Rate of Non-Approximate Nearest Neighbor Search Queries
non-approximate-nns-query-rate
requests/second
Rate of incoming queries per second that do not perform approximate NNS, including queries that fall back to exact search.
Query Matching Time
query-matching-time-avg
milliseconds
Average time spent on the core query matching process, computed as query latency minus query setup time; includes exact NNS.
Query Matching Time
query-matching-time-max
milliseconds
Approximate maximum time spent on the core query matching process, computed as max query latency minus max query setup time (not a directly measured value, since the two maxima may occur on different queries).
Query Rate
query-rate
requests/second
Rate of incoming queries per second against the content cluster's document matching pipeline (equal to approximate-nns-query-rate plus non-approximate-nns-query-rate).
Query Setup Time
query-setup-time-avg
milliseconds
Average time spent setting up and tearing down queries, including filter computation and approximate NNS overhead.
Query Setup Time Without Approximate Nearest Neighbor Search Time
query-setup-time-excl-ann-avg
milliseconds
Average time spent on query setup and teardown excluding approximate NNS time, isolating filter computation and other overhead.
Query Setup Time
query-setup-time-max
milliseconds
Maximum observed time spent setting up and tearing down a single query on any content node.
Soft Timeout Rate (sum)
soft-timeout-rate-sum
requests/second
Rate of queries per second terminated early due to hitting the soft timeout, aggregated across rank profiles.
Thread Pool - Match Utilization
thread-pool-match-utilization-avg
percentage (0-100)
Average utilization of the match thread pool across content nodes.
Thread Pool - Match Utilization
thread-pool-match-utilization-max
percentage (0-100)
Peak utilization of the match thread pool observed on any content node.
Total Distances Computed (sum)
total-distances-computed-sum
operations/second
Total NNS distance computations per second, combining exact and approximate search, as an overall indicator of NNS-related CPU cost.
Content Node
Console name
metric
Unit
Description
Attribute Resource Usage - Feeding Blocked (max)
attribute-feeding-blocked-pct
percentage (0-100)
Percentage of the time window during which feeding was blocked due to attribute resource usage limits on any content node.
Bucket Move Pending (max)
bucket-move-pending-max
count
Maximum number of buckets pending a move operation (e.g. during cluster resizing or redistribution) on any content node.
Document Store Cache Hit Rate (max)
document-store-cache-hit-rate-max
percentage (0-100)
Cache hit rate for the ready document store's summary-field cache, as a percentage; low values on quiescent clusters often show up as elevated CPU IOWait from disk-backed docsum reads.
Document Store Disk Usage (max)
document-store-disk-usage-max
bytes
Maximum disk space used by the ready document store on any content node.
Documents Active (per document type)
documents-count-active
count
Number of active/searchable document copies, summed across content clusters after taking the max across replica groups within each cluster to avoid double counting.
Documents Ready (per document type)
documents-count-ready
count
Number of documents available for search (ready), summed across content clusters after taking the max across replica groups within each cluster to avoid double counting.
Field Writer Utilization & Saturation
field-writer-saturation-max
percentage (0-100)
Maximum observed saturation of Proton's field writer executor thread pool; high saturation indicates a write bottleneck.
Field Writer Utilization & Saturation
field-writer-utilization-avg
percentage (0-100)
Average utilization of Proton's field writer executor thread pool across content nodes.
Filestor Average Queue Wait (avg)
filestor-average-queue-wait-avg
milliseconds
Average time operations spent waiting in the filestor queue across content nodes.
Filestor Queue Size (max)
filestor-queue-size-max
count
Maximum filestor queue size observed on any content node; a growing queue indicates storage cannot keep up with incoming operations.
Maintenance Job Activity (max)
maintenance-job-activity-attr-flush
percentage (0-100)
Activity level of the attribute-flush maintenance job (0% = idle, 100% = fully active), maximum across content nodes.
Maintenance Job Activity (max)
maintenance-job-activity-disk-idx-fusion
percentage (0-100)
Activity level of the disk-index-fusion maintenance job (0% = idle, 100% = fully active), maximum across content nodes.
Maintenance Job Activity (max)
maintenance-job-activity-docstore-compact
percentage (0-100)
Activity level of the document-store-compaction maintenance job (0% = idle, 100% = fully active), maximum across content nodes.
Maintenance Job Activity (max)
maintenance-job-activity-lid-compact
percentage (0-100)
Activity level of the LID (local document id) space-compaction maintenance job (0% = idle, 100% = fully active), maximum across content nodes.
Maintenance Job Activity (max)
maintenance-job-activity-mem-idx-flush
percentage (0-100)
Activity level of the memory-index-flush maintenance job (0% = idle, 100% = fully active), maximum across content nodes.
Proton Disk Usage (avg)
proton-disk-usage-avg
percentage (0-100)
Relative disk usage of the content node's Proton process, as a percentage of the available disk; 100% means feeding is blocked.
Proton Executor Utilization
proton-executor-utilization-avg
percentage (0-100)
Average utilization of Proton's own executor thread pool across content nodes.
Proton Executor Utilization
proton-executor-utilization-max
percentage (0-100)
Maximum observed utilization of Proton's own executor thread pool on any content node.
Proton Memory Usage (avg)
proton-memory-usage-avg
percentage (0-100)
Relative memory usage of the content node's Proton process, as a percentage of the available memory.
Shared Executor Queue Size (max)
shared-executor-queue-size-max
count
Maximum shared executor queue size observed on any content node during the time window.
Shared Executor Utilization
shared-executor-utilization-avg
percentage (0-100)
Average utilization of Proton's shared executor thread pool across content nodes.
Shared Executor Utilization
shared-executor-utilization-max
percentage (0-100)
Maximum observed utilization of Proton's shared executor thread pool on any content node.
Resources
Console name
metric
Unit
Description
CPU IOWait (avg/max/min)
cpu-iowait-avg
percentage (0-100)
Average per-host CPU I/O-wait percentage across the cluster over the time window, indicating time spent waiting on disk I/O rather than doing CPU work.
CPU IOWait (avg/max/min)
cpu-iowait-max
percentage (0-100)
Maximum per-host CPU I/O-wait percentage across the cluster over the time window; high values point to disk being the bottleneck rather than CPU.
CPU IOWait (avg/max/min)
cpu-iowait-min
percentage (0-100)
Minimum per-host CPU I/O-wait percentage across the cluster over the time window.
CPU Throttled Time (sum)
cpu-throttled-time-sum
count
Sum of per-node CPU cgroup-throttling rate across the cluster over the time window; non-zero values indicate nodes are hitting their CPU resource limits.
CPU Utilization (max per cluster)
cpu-utilization-container
percentage (0-100)
Maximum CPU utilization across the nodes of the container cluster.
CPU Utilization (max per cluster)
cpu-utilization-content
percentage (0-100)
Maximum CPU utilization across the nodes of the content cluster.
default-handler-common — Utilization
default-handler-common-utilization-avg
percentage (0-100)
Average active threads as a percentage of pool size for the default-handler-common thread pool over the time window.
default-handler-common — Utilization
default-handler-common-utilization-max
percentage (0-100)
Peak active threads as a percentage of pool size for the default-handler-common thread pool over the time window.
default-handler-common — Work Queue Size
default-handler-common-work-queue-size-avg
count
Average number of pending tasks queued for the default-handler-common thread pool over the time window.
default-handler-common — Work Queue Size
default-handler-common-work-queue-size-max
count
Peak number of pending tasks queued for the default-handler-common thread pool observed during the time window.
default-handler-common — Work Queue Utilization
default-handler-common-work-queue-utilization-avg
percentage (0-100)
Average queue fill percentage (size / capacity) for the default-handler-common thread pool over the time window.
default-handler-common — Work Queue Utilization
default-handler-common-work-queue-utilization-max
percentage (0-100)
Peak queue fill percentage (size / capacity) for the default-handler-common thread pool observed during the time window.
Disk Utilization (avg/max/min)
disk-utilization-avg
percentage (0-100)
Average OS-level disk utilization percentage across the cluster's nodes.
Disk Utilization (avg/max/min)
disk-utilization-max
percentage (0-100)
Maximum OS-level disk utilization percentage across the cluster's nodes; sustained high values risk feed/query slowdowns from disk saturation.
Disk Utilization (avg/max/min)
disk-utilization-min
percentage (0-100)
Minimum OS-level disk utilization percentage across the cluster's nodes.
feedapi-handler — Utilization
feedapi-handler-utilization-avg
percentage (0-100)
Average active threads as a percentage of pool size for the feedapi-handler thread pool over the time window.
feedapi-handler — Utilization
feedapi-handler-utilization-max
percentage (0-100)
Peak active threads as a percentage of pool size for the feedapi-handler thread pool over the time window.
feedapi-handler — Work Queue Size
feedapi-handler-work-queue-size-avg
count
Average number of pending tasks queued for the feedapi-handler thread pool over the time window.
feedapi-handler — Work Queue Size
feedapi-handler-work-queue-size-max
count
Peak number of pending tasks queued for the feedapi-handler thread pool observed during the time window.
feedapi-handler — Work Queue Utilization
feedapi-handler-work-queue-utilization-avg
percentage (0-100)
Average queue fill percentage (size / capacity) for the feedapi-handler thread pool over the time window.
feedapi-handler — Work Queue Utilization
feedapi-handler-work-queue-utilization-max
percentage (0-100)
Peak queue fill percentage (size / capacity) for the feedapi-handler thread pool observed during the time window.
GPU Memory Utilization (max)
gpu-memory-utilization-max
percentage (0-100)
Maximum GPU memory utilization (used/total) across GPU-equipped nodes, averaged over the time window.
GPU Utilization (max)
gpu-utilization-container-max
percentage (0-100)
Maximum GPU utilization across container-cluster nodes with GPUs attached, averaged over the time window (only produces data for GPU-equipped nodes).
JVM Direct Memory (avg)
jvm-direct-memory-capacity
bytes
Average configured JVM direct (off-heap) memory capacity on container nodes.
JVM Direct Memory (avg)
jvm-direct-memory-used
bytes
Average JVM direct (off-heap) memory currently in use on container nodes.
JVM GC Overhead (max)
jvm-gc-overhead-max
percentage (0-100)
Approximate percentage of CPU time spent in JVM garbage collection on container nodes, averaged over the time window.
JVM GC Pause Duration
jvm-gc-pause-duration-avg
seconds
Average stop-the-world JVM GC pause duration on container nodes over the time window.
JVM GC Pause Duration
jvm-gc-pause-duration-max
seconds
Worst single stop-the-world JVM GC pause observed on container nodes during the time window.
JVM Heap Usage (avg)
jvm-heap-usage-capacity
bytes
Average configured JVM heap memory capacity (max heap size) on container nodes.
JVM Heap Usage (avg)
jvm-heap-usage-used
bytes
Average JVM heap memory currently in use on container nodes.
JVM Native Memory (avg)
jvm-native-memory-avg
bytes
Average native (off-JVM) memory used by C++ libraries loaded via JNI (e.g. ONNX Runtime for embedders, linguistics) on container nodes.
Memory Utilization (avg/max/min)
memory-node-utilization-avg
percentage (0-100)
Average OS-level memory utilization across the cluster's nodes (physical RAM usage), distinct from the Vespa-computed content memory-utilization metric.
Memory Utilization (avg/max/min)
memory-node-utilization-max
percentage (0-100)
Maximum OS-level memory utilization across the cluster's nodes (physical RAM usage), distinct from the Vespa-computed content memory-utilization metric.
Memory Utilization (avg/max/min)
memory-node-utilization-min
percentage (0-100)
Minimum OS-level memory utilization across the cluster's nodes (physical RAM usage).
Resource Usage: Max Memory Utilization vs Limit
memory-utilization-content
percentage (0-100)
Maximum memory utilization of the content cluster's cluster controller.
Network Throughput (bytes received/sent)
network-throughput-bytes-received-sent-received
bytes
Average per-interval network bytes received by container nodes, summed across the cluster over the time window.
Network Throughput (bytes received/sent)
network-throughput-bytes-received-sent-sent
bytes
Average per-interval network bytes sent by container nodes, summed across the cluster over the time window.
Open Server Connections (max)
open-server-connections-max
count
Peak number of open HTTP server connections on container nodes observed during the time window.
Requests per HTTP Connection
requests-per-http-connection-avg
count
Average number of HTTP requests served per connection over its lifetime on container nodes during the time window.
Requests per HTTP Connection
requests-per-http-connection-max
count
Peak number of HTTP requests served by a single connection over its lifetime on container nodes during the time window.
search-handler — Work Queue Size
search-handler-work-queue-size-avg
count
Average number of pending tasks queued for the search-handler thread pool over the time window.
search-handler — Work Queue Size
search-handler-work-queue-size-max
count
Peak number of pending tasks queued for the search-handler thread pool observed during the time window.
search-handler — Work Queue Utilization
search-handler-work-queue-utilization-avg
percentage (0-100)
Average queue fill percentage (size / capacity) for the search-handler thread pool over the time window.
search-handler — Work Queue Utilization
search-handler-work-queue-utilization-max
percentage (0-100)
Peak queue fill percentage (size / capacity) for the search-handler thread pool observed during the time window.
Health
Console name
metric
Unit
Description
Cluster State Changes (sum)
cluster-state-changes-sum
count
Number of cluster state changes observed in the given time window. Frequent changes are most often caused by Vespa upgrades or required node restarts.
Core Dumps (1h)
core-dumps-processed-max
count
Number of core dumps processed across all nodes in the given time window; should be 0.
Deactivated Containers
deactivated-containers
count
Average number of deactivated container instances per sample, over the given time window. Brief spikes during deployments are normal; persistently high values may indicate resource leaks.
Estimated Time to In-Sync
estimated-time-to-in-sync
seconds
Rough estimate, from the recent (fixed 30-minute) convergence rate, of the time remaining until all buckets are back in sync; capped at 7 days.
Failed Component Graphs
failed-component-graphs
operations/second
Rate of failed application component-graph reconfigurations, averaged over the given time window; nonzero after a deployment may indicate a configuration or component issue.
HTTP Requests Prematurely Closed
http-requests-prematurely-closed
operations/second
Rate of HTTP requests closed by the client before the server finished responding, averaged over the given time window.
Merge Bucket Pending
merge-bucket-pending
count
Number of pending bucket merge operations across all distributors, summed per application.
Node count (max)
node-count-max
count
Total number of nodes currently in the active state for the application.
Node Events (sum)
node-events-sum
count
Number of node events reported by the cluster controller in the given time window.
Node state: down (max)
node-state-down-max
count
Number of content nodes in the 'down' state per cluster (nodes considered unavailable by the cluster controller).
Node state: initializing (max)
node-state-initializing-max
count
Number of content nodes in the 'initializing' state per cluster (nodes currently starting up and not yet serving).
Node state: maintenance (max)
node-state-maintenance-max
count
Number of content nodes in the 'maintenance' state per cluster (nodes intentionally taken down for maintenance).
Node state: retired (max)
node-state-retired-max
count
Number of content nodes in the 'retired' state per cluster (nodes being decommissioned).
Node state: up (max)
node-state-up-max
count
Number of content nodes in the 'up' state per cluster.
Re-indexing remaining
re-indexing-remaining
percentage (0-100)
Worst-case document reindexing progress remaining across document types, as a percentage (100 = not started, 0 = complete or no reindex running).
Resource Usage: Attribute Address Space
resource-usage-attribute-address-space
percentage (0-100)
Worst-case attribute address-space utilization across content nodes; feed is blocked when this approaches 100%.
Resource Usage: Max Disk Utilization vs Limit
resource-usage-max-disk-utilization-vs-limit
percentage (0-100)
Maximum disk utilization vs the configured limit; feed is blocked when utilization exceeds the limit.
Service Restarts (total)
service-restarts-total
count
Total service restarts across all nodes, as tracked by the config sentinel. Increases indicate services crashing or being restarted.
Rate-Limited Requests
rate-limited-requests-sum
operations/second
Rate of requests checked by the RateLimitingSearcher (i.e. requests with rate.id and rate.quota set); only present if the searcher is in use.
Requests Rejected (Over Quota)
requests-rejected-over-quota-sum
operations/second
Rate of requests rejected by the RateLimitingSearcher for exceeding their quota (rate.quota); in dry-run mode these are counted but not actually rejected.
Autoscaling: Content
Console name
metric
Unit
Description
Active nodes (max)
active-nodes-count
count
Maximum number of active nodes in the content cluster during the test window.
Active nodes (max)
active-nodes-non-active-fraction
fraction (0-1)
Fraction of content-cluster nodes that are not yet active, indicating an in-progress resize or data redistribution.
Autoscaling actions (sum)
autoscaling-actions-sum
count
Number of autoscaler rescale actions taken for the content cluster during the test window.
CPU load adjustment (peak / ideal)
cpu-load-adjustment-ratio
ratio (peak / ideal, 1.0 = ideally scaled)
Ratio of peak to ideal CPU load for the content cluster; above 1.0 signals scale-up pressure and below 1.0 signals the cluster is over-provisioned for CPU.
CPU load — peak vs ideal (max)
cpu-load-peak-vs-ideal-ideal
percentage (0-100)
The autoscaler's ideal CPU load target for the content cluster, as a percentage (already includes growth and failover headroom, so normally below 100).
CPU load — peak vs ideal (max)
cpu-load-peak-vs-ideal-peak
percentage (0-100)
The autoscaler's peak observed CPU load for the content cluster, as a percentage, from the config server's cluster.load.peak.cpu signal.
Query growth (rate vs 3h average)
query-growth-rate-vs-3h-average-content
ratio (test-window average / trailing 3h average)
Ratio of the content cluster's query rate during the test window to its own trailing 3-hour average, a proxy for the autoscaler's internal query-growth headroom factor.
Query vs write rate — CPU mix driver (sum)
query-vs-write-rate-cpu-mix-driver-query-content
operations/second
Query rate for the content cluster, one half of the query/write mix that determines the autoscaler's ideal CPU target.
Query vs write rate — CPU mix driver (sum)
query-vs-write-rate-cpu-mix-driver-write-content
operations/second
Write rate (put + update + remove operations per second) for the content cluster, the other half of the query/write mix that determines the autoscaler's ideal CPU target.
Autoscaling: Container
Console name
metric
Unit
Description
Active nodes (max)
active-nodes-container
count
Maximum number of active container nodes in the cluster during the test window.
Active nodes (max)
non-active-node-fraction-container
fraction
Peak fraction of non-active (mid-transition) nodes in the container cluster during the test window, non-zero while a resize is in progress.
Query growth (rate vs 3h average)
query-growth-rate-vs-3h-average
ratio
Ratio of the container cluster's query rate during the test window to its trailing 3-hour average, a proxy for the autoscaler's growth-headroom signal (values above 1.0 indicate rising traffic).
Query vs write rate — CPU mix driver (sum)
query-vs-write-rate-cpu-mix-driver-query
operations/second
Average query rate across the container cluster during the test window; one side of the query/write mix that shapes the autoscaler's ideal CPU target.
Query vs write rate — CPU mix driver (sum)
query-vs-write-rate-cpu-mix-driver-write
operations/second
Average write (feed) operation rate across the container cluster during the test window; the other side of the query/write mix that shapes the autoscaler's ideal CPU target.