Skip to main content
As part of normal operation, CockroachDB continuously records metrics that track performance, latency, usage, and many other runtime indicators. These metrics are often useful in diagnosing problems, troubleshooting performance, or planning cluster infrastructure modifications. This page documents locations where metrics are exposed for analysis.

Available metrics

CockroachDB Metric NameDescriptionTypeUnit
addsstable.applications
Number of SSTable ingestions applied (i.e. applied by Replicas)COUNTERCOUNT
addsstable.copies
number of SSTable ingestions that required copying files during applicationCOUNTERCOUNT
addsstable.proposals
Number of SSTable ingestions proposed (i.e. sent to Raft by lease holders)COUNTERCOUNT
admission.io.overload
1-normalized float indicating whether IO admission control considers the store as overloaded with respect to compaction out of L0 (considers sub-level and file counts).GAUGEPERCENT
auth.cert.conn.latency
Latency to establish and authenticate a SQL connection using certificateHISTOGRAMNANOSECONDS
auth.gss.conn.latency
Latency to establish and authenticate a SQL connection using GSSHISTOGRAMNANOSECONDS
auth.jwt.conn.latency
Latency to establish and authenticate a SQL connection using JWT TokenHISTOGRAMNANOSECONDS
auth.ldap.conn.latency
Latency to establish and authenticate a SQL connection using LDAPHISTOGRAMNANOSECONDS
auth.password.conn.latency
Latency to establish and authenticate a SQL connection using passwordHISTOGRAMNANOSECONDS
auth.scram.conn.latency
Latency to establish and authenticate a SQL connection using SCRAMHISTOGRAMNANOSECONDS
build.timestamp
Build informationGAUGETIMESTAMP_SEC
capacity
Total storage capacityGAUGEBYTES
capacity.available
Available storage capacityGAUGEBYTES
capacity.reserved
Capacity reserved for snapshotsGAUGEBYTES
capacity.used
Used storage capacityGAUGEBYTES
changefeed.aggregator_progress
The earliest timestamp up to which any aggregator is guaranteed to have emitted all values forGAUGETIMESTAMP_NS
changefeed.backfill_count
Number of changefeeds currently executing backfillGAUGECOUNT
changefeed.backfill_pending_ranges
Number of ranges in an ongoing backfill that are yet to be fully emittedGAUGECOUNT
changefeed.checkpoint_progress
The earliest timestamp of any changefeed’s persisted checkpoint (values prior to this timestamp will never need to be re-emitted)GAUGETIMESTAMP_NS
changefeed.commit_latency
Event commit latency: a difference between event MVCC timestamp and the time it was acknowledged by the downstream sink. If the sink batches events, then the difference between the oldest event in the batch and acknowledgement is recorded; Excludes latency during backfillHISTOGRAMNANOSECONDS
changefeed.emitted_bytes
Bytes emitted by all feedsCOUNTERBYTES
changefeed.emitted_messages
Messages emitted by all feedsCOUNTERCOUNT
changefeed.error_retries
Total retryable errors encountered by all changefeedsCOUNTERCOUNT
changefeed.failures
Total number of changefeed jobs which have failedCOUNTERCOUNT
changefeed.lagging_ranges
The number of ranges considered to be lagging behindGAUGECOUNT
changefeed.max_behind_nanos
The most any changefeed’s persisted checkpoint is behind the presentGAUGENANOSECONDS
changefeed.message_size_hist
Message size histogramHISTOGRAMBYTES
changefeed.running
Number of currently running changefeeds, including sinklessGAUGECOUNT
clock-offset.meannanos
Mean clock offset with other nodesGAUGENANOSECONDS
clock-offset.stddevnanos
Stddev clock offset with other nodesGAUGENANOSECONDS
cluster.preserve-downgrade-option.last-updated
Unix timestamp of last updated time for cluster.preserve_downgrade_optionGAUGETIMESTAMP_SEC
distsender.batches
Number of batches processedCOUNTERCOUNT
distsender.batches.partial
Number of partial batches processed after being divided on range boundariesCOUNTERCOUNT
distsender.errors.notleaseholder
Number of NotLeaseHolderErrors encountered from replica-addressed RPCsCOUNTERCOUNT
distsender.rpc.sent
Number of replica-addressed RPCs sentCOUNTERCOUNT
distsender.rpc.sent.local
Number of replica-addressed RPCs sent through the local-server optimizationCOUNTERCOUNT
distsender.rpc.sent.nextreplicaerror
Number of replica-addressed RPCs sent due to per-replica errorsCOUNTERCOUNT
exec.error
Number of batch KV requests that failed to execute on this node. This count excludes transaction restart/abort errors. However, it will include other errors expected during normal operation, such as ConditionFailedError. This metric is thus not an indicator of KV health.COUNTERCOUNT
exec.latency
Latency of batch KV requests (including errors) executed on this node. This measures requests already addressed to a single replica, from the moment at which they arrive at the internal gRPC endpoint to the moment at which the response (or an error) is returned. This latency includes in particular commit waits, conflict resolution and replication, and end-users can easily produce high measurements via long-running transactions that conflict with foreground traffic. This metric thus does not provide a good signal for understanding the health of the KV layer. HISTOGRAMNANOSECONDS
exec.success
Number of batch KV requests executed successfully on this node. A request is considered to have executed ‘successfully’ if it either returns a result or a transaction restart/abort error. COUNTERCOUNT
gcbytesage
Cumulative age of non-live dataGAUGESECONDS
gossip.bytes.received
Number of received gossip bytesCOUNTERBYTES
gossip.bytes.sent
Number of sent gossip bytesCOUNTERBYTES
gossip.connections.incoming
Number of active incoming gossip connectionsGAUGECOUNT
gossip.connections.outgoing
Number of active outgoing gossip connectionsGAUGECOUNT
gossip.connections.refused
Number of refused incoming gossip connectionsCOUNTERCOUNT
gossip.infos.received
Number of received gossip Info objectsCOUNTERCOUNT
gossip.infos.sent
Number of sent gossip Info objectsCOUNTERCOUNT
intentage
Cumulative age of locksGAUGESECONDS
intentbytes
Number of bytes in intent KV pairsGAUGEBYTES
intentcount
Count of intent keysGAUGECOUNT
jobs.auto_config_env_runner.currently_paused
Number of auto_config_env_runner jobs currently considered PausedGAUGECOUNT
jobs.auto_config_env_runner.protected_age_sec
The age of the oldest PTS record protected by auto_config_env_runner jobsGAUGESECONDS
jobs.auto_config_env_runner.protected_record_count
Number of protected timestamp records held by auto_config_env_runner jobsGAUGECOUNT
jobs.auto_config_runner.currently_paused
Number of auto_config_runner jobs currently considered PausedGAUGECOUNT
jobs.auto_config_runner.protected_age_sec
The age of the oldest PTS record protected by auto_config_runner jobsGAUGESECONDS
jobs.auto_config_runner.protected_record_count
Number of protected timestamp records held by auto_config_runner jobsGAUGECOUNT
jobs.auto_config_task.currently_paused
Number of auto_config_task jobs currently considered PausedGAUGECOUNT
jobs.auto_config_task.protected_age_sec
The age of the oldest PTS record protected by auto_config_task jobsGAUGESECONDS
jobs.auto_config_task.protected_record_count
Number of protected timestamp records held by auto_config_task jobsGAUGECOUNT
jobs.auto_create_partial_stats.currently_paused
Number of auto_create_partial_stats jobs currently considered PausedGAUGECOUNT
jobs.auto_create_partial_stats.protected_age_sec
The age of the oldest PTS record protected by auto_create_partial_stats jobsGAUGESECONDS
jobs.auto_create_partial_stats.protected_record_count
Number of protected timestamp records held by auto_create_partial_stats jobsGAUGECOUNT
jobs.auto_create_stats.currently_paused
Number of auto_create_stats jobs currently considered PausedGAUGECOUNT
jobs.auto_create_stats.currently_running
Number of auto_create_stats jobs currently running in Resume or OnFailOrCancel stateGAUGECOUNT
jobs.auto_create_stats.protected_age_sec
The age of the oldest PTS record protected by auto_create_stats jobsGAUGESECONDS
jobs.auto_create_stats.protected_record_count
Number of protected timestamp records held by auto_create_stats jobsGAUGECOUNT
jobs.auto_create_stats.resume_failed
Number of auto_create_stats jobs which failed with a non-retriable errorCOUNTERCOUNT
jobs.auto_schema_telemetry.currently_paused
Number of auto_schema_telemetry jobs currently considered PausedGAUGECOUNT
jobs.auto_schema_telemetry.protected_age_sec
The age of the oldest PTS record protected by auto_schema_telemetry jobsGAUGESECONDS
jobs.auto_schema_telemetry.protected_record_count
Number of protected timestamp records held by auto_schema_telemetry jobsGAUGECOUNT
jobs.auto_span_config_reconciliation.currently_paused
Number of auto_span_config_reconciliation jobs currently considered PausedGAUGECOUNT
jobs.auto_span_config_reconciliation.protected_age_sec
The age of the oldest PTS record protected by auto_span_config_reconciliation jobsGAUGESECONDS
jobs.auto_span_config_reconciliation.protected_record_count
Number of protected timestamp records held by auto_span_config_reconciliation jobsGAUGECOUNT
jobs.auto_sql_stats_compaction.currently_paused
Number of auto_sql_stats_compaction jobs currently considered PausedGAUGECOUNT
jobs.auto_sql_stats_compaction.protected_age_sec
The age of the oldest PTS record protected by auto_sql_stats_compaction jobsGAUGESECONDS
jobs.auto_sql_stats_compaction.protected_record_count
Number of protected timestamp records held by auto_sql_stats_compaction jobsGAUGECOUNT
jobs.auto_update_sql_activity.currently_paused
Number of auto_update_sql_activity jobs currently considered PausedGAUGECOUNT
jobs.auto_update_sql_activity.protected_age_sec
The age of the oldest PTS record protected by auto_update_sql_activity jobsGAUGESECONDS
jobs.auto_update_sql_activity.protected_record_count
Number of protected timestamp records held by auto_update_sql_activity jobsGAUGECOUNT
jobs.backup.currently_paused
Number of backup jobs currently considered PausedGAUGECOUNT
jobs.backup.currently_running
Number of backup jobs currently running in Resume or OnFailOrCancel stateGAUGECOUNT
jobs.backup.protected_age_sec
The age of the oldest PTS record protected by backup jobsGAUGESECONDS
jobs.backup.protected_record_count
Number of protected timestamp records held by backup jobsGAUGECOUNT
jobs.changefeed.currently_paused
Number of changefeed jobs currently considered PausedGAUGECOUNT
jobs.changefeed.expired_pts_records
Number of expired protected timestamp records owned by changefeed jobsCOUNTERCOUNT
jobs.changefeed.protected_age_sec
The age of the oldest PTS record protected by changefeed jobsGAUGESECONDS
jobs.changefeed.protected_record_count
Number of protected timestamp records held by changefeed jobsGAUGECOUNT
jobs.changefeed.resume_retry_error
Number of changefeed jobs which failed with a retriable errorCOUNTERCOUNT
jobs.create_stats.currently_paused
Number of create_stats jobs currently considered PausedGAUGECOUNT
jobs.create_stats.currently_running
Number of create_stats jobs currently running in Resume or OnFailOrCancel stateGAUGECOUNT
jobs.create_stats.protected_age_sec
The age of the oldest PTS record protected by create_stats jobsGAUGESECONDS
jobs.create_stats.protected_record_count
Number of protected timestamp records held by create_stats jobsGAUGECOUNT
jobs.history_retention.currently_paused
Number of history_retention jobs currently considered PausedGAUGECOUNT
jobs.history_retention.protected_age_sec
The age of the oldest PTS record protected by history_retention jobsGAUGESECONDS
jobs.history_retention.protected_record_count
Number of protected timestamp records held by history_retention jobsGAUGECOUNT
jobs.import.currently_paused
Number of import jobs currently considered PausedGAUGECOUNT
jobs.import.protected_age_sec
The age of the oldest PTS record protected by import jobsGAUGESECONDS
jobs.import.protected_record_count
Number of protected timestamp records held by import jobsGAUGECOUNT
jobs.import_rollback.currently_paused
Number of import_rollback jobs currently considered PausedGAUGECOUNT
jobs.import_rollback.protected_age_sec
The age of the oldest PTS record protected by import_rollback jobsGAUGESECONDS
jobs.import_rollback.protected_record_count
Number of protected timestamp records held by import_rollback jobsGAUGECOUNT
jobs.key_visualizer.currently_paused
Number of key_visualizer jobs currently considered PausedGAUGECOUNT
jobs.key_visualizer.protected_age_sec
The age of the oldest PTS record protected by key_visualizer jobsGAUGESECONDS
jobs.key_visualizer.protected_record_count
Number of protected timestamp records held by key_visualizer jobsGAUGECOUNT
jobs.logical_replication.currently_paused
Number of logical_replication jobs currently considered PausedGAUGECOUNT
jobs.logical_replication.protected_age_sec
The age of the oldest PTS record protected by logical_replication jobsGAUGESECONDS
jobs.logical_replication.protected_record_count
Number of protected timestamp records held by logical_replication jobsGAUGECOUNT
jobs.migration.currently_paused
Number of migration jobs currently considered PausedGAUGECOUNT
jobs.migration.protected_age_sec
The age of the oldest PTS record protected by migration jobsGAUGESECONDS
jobs.migration.protected_record_count
Number of protected timestamp records held by migration jobsGAUGECOUNT
jobs.mvcc_statistics_update.currently_paused
Number of mvcc_statistics_update jobs currently considered PausedGAUGECOUNT
jobs.mvcc_statistics_update.protected_age_sec
The age of the oldest PTS record protected by mvcc_statistics_update jobsGAUGESECONDS
jobs.mvcc_statistics_update.protected_record_count
Number of protected timestamp records held by mvcc_statistics_update jobsGAUGECOUNT
jobs.new_schema_change.currently_paused
Number of new_schema_change jobs currently considered PausedGAUGECOUNT
jobs.new_schema_change.protected_age_sec
The age of the oldest PTS record protected by new_schema_change jobsGAUGESECONDS
jobs.new_schema_change.protected_record_count
Number of protected timestamp records held by new_schema_change jobsGAUGECOUNT
jobs.poll_jobs_stats.currently_paused
Number of poll_jobs_stats jobs currently considered PausedGAUGECOUNT
jobs.poll_jobs_stats.protected_age_sec
The age of the oldest PTS record protected by poll_jobs_stats jobsGAUGESECONDS
jobs.poll_jobs_stats.protected_record_count
Number of protected timestamp records held by poll_jobs_stats jobsGAUGECOUNT
jobs.replication_stream_ingestion.currently_paused
Number of replication_stream_ingestion jobs currently considered PausedGAUGECOUNT
jobs.replication_stream_ingestion.protected_age_sec
The age of the oldest PTS record protected by replication_stream_ingestion jobsGAUGESECONDS
jobs.replication_stream_ingestion.protected_record_count
Number of protected timestamp records held by replication_stream_ingestion jobsGAUGECOUNT
jobs.replication_stream_producer.currently_paused
Number of replication_stream_producer jobs currently considered PausedGAUGECOUNT
jobs.replication_stream_producer.protected_age_sec
The age of the oldest PTS record protected by replication_stream_producer jobsGAUGESECONDS
jobs.replication_stream_producer.protected_record_count
Number of protected timestamp records held by replication_stream_producer jobsGAUGECOUNT
jobs.restore.currently_paused
Number of restore jobs currently considered PausedGAUGECOUNT
jobs.restore.protected_age_sec
The age of the oldest PTS record protected by restore jobsGAUGESECONDS
jobs.restore.protected_record_count
Number of protected timestamp records held by restore jobsGAUGECOUNT
jobs.row_level_ttl.currently_paused
Number of row_level_ttl jobs currently considered PausedGAUGECOUNT
jobs.row_level_ttl.currently_running
Number of row_level_ttl jobs currently running in Resume or OnFailOrCancel stateGAUGECOUNT
jobs.row_level_ttl.delete_duration
Duration for delete requests during row level TTL.HISTOGRAMNANOSECONDS
jobs.row_level_ttl.num_active_spans
Number of active spans the TTL job is deleting from.GAUGECOUNT
jobs.row_level_ttl.protected_age_sec
The age of the oldest PTS record protected by row_level_ttl jobsGAUGESECONDS
jobs.row_level_ttl.protected_record_count
Number of protected timestamp records held by row_level_ttl jobsGAUGECOUNT
jobs.row_level_ttl.resume_completed
Number of row_level_ttl jobs which successfully resumed to completionCOUNTERCOUNT
jobs.row_level_ttl.resume_failed
Number of row_level_ttl jobs which failed with a non-retriable errorCOUNTERCOUNT
jobs.row_level_ttl.rows_deleted
Number of rows deleted by the row level TTL job.COUNTERCOUNT
jobs.row_level_ttl.rows_selected
Number of rows selected for deletion by the row level TTL job.COUNTERCOUNT
jobs.row_level_ttl.select_duration
Duration for select requests during row level TTL.HISTOGRAMNANOSECONDS
jobs.row_level_ttl.span_total_duration
Duration for processing a span during row level TTL.HISTOGRAMNANOSECONDS
jobs.row_level_ttl.total_expired_rows
Approximate number of rows that have expired the TTL on the TTL table.GAUGECOUNT
jobs.row_level_ttl.total_rows
Approximate number of rows on the TTL table.GAUGECOUNT
jobs.schema_change.currently_paused
Number of schema_change jobs currently considered PausedGAUGECOUNT
jobs.schema_change.protected_age_sec
The age of the oldest PTS record protected by schema_change jobsGAUGESECONDS
jobs.schema_change.protected_record_count
Number of protected timestamp records held by schema_change jobsGAUGECOUNT
jobs.schema_change_gc.currently_paused
Number of schema_change_gc jobs currently considered PausedGAUGECOUNT
jobs.schema_change_gc.protected_age_sec
The age of the oldest PTS record protected by schema_change_gc jobsGAUGESECONDS
jobs.schema_change_gc.protected_record_count
Number of protected timestamp records held by schema_change_gc jobsGAUGECOUNT
jobs.standby_read_ts_poller.currently_paused
Number of standby_read_ts_poller jobs currently considered PausedGAUGECOUNT
jobs.standby_read_ts_poller.protected_age_sec
The age of the oldest PTS record protected by standby_read_ts_poller jobsGAUGESECONDS
jobs.standby_read_ts_poller.protected_record_count
Number of protected timestamp records held by standby_read_ts_poller jobsGAUGECOUNT
jobs.typedesc_schema_change.currently_paused
Number of typedesc_schema_change jobs currently considered PausedGAUGECOUNT
jobs.typedesc_schema_change.protected_age_sec
The age of the oldest PTS record protected by typedesc_schema_change jobsGAUGESECONDS
jobs.typedesc_schema_change.protected_record_count
Number of protected timestamp records held by typedesc_schema_change jobsGAUGECOUNT
jobs.update_table_metadata_cache.currently_paused
Number of update_table_metadata_cache jobs currently considered PausedGAUGECOUNT
jobs.update_table_metadata_cache.protected_age_sec
The age of the oldest PTS record protected by update_table_metadata_cache jobsGAUGESECONDS
jobs.update_table_metadata_cache.protected_record_count
Number of protected timestamp records held by update_table_metadata_cache jobsGAUGECOUNT
keybytes
Number of bytes taken up by keysGAUGEBYTES
keycount
Count of all keysGAUGECOUNT
leases.epoch
Number of replica leaseholders using epoch-based leasesGAUGECOUNT
leases.error
Number of failed lease requestsCOUNTERCOUNT
leases.expiration
Number of replica leaseholders using expiration-based leasesGAUGECOUNT
leases.success
Number of successful lease requestsCOUNTERCOUNT
leases.transfers.error
Number of failed lease transfersCOUNTERCOUNT
leases.transfers.success
Number of successful lease transfersCOUNTERCOUNT
livebytes
Number of bytes of live data (keys plus values)GAUGEBYTES
livecount
Count of live keysGAUGECOUNT
liveness.epochincrements
Number of times this node has incremented its liveness epochCOUNTERCOUNT
liveness.heartbeatfailures
Number of failed node liveness heartbeats from this nodeCOUNTERCOUNT
liveness.heartbeatlatency
Node liveness heartbeat latencyHISTOGRAMNANOSECONDS
liveness.heartbeatsuccesses
Number of successful node liveness heartbeats from this nodeCOUNTERCOUNT
liveness.livenodes
Number of live nodes in the cluster (will be 0 if this node is not itself live)GAUGECOUNT
node-id
node ID with labels for advertised RPC and HTTP addressesGAUGECONST
physical_replication.logical_bytes
Logical bytes (sum of keys + values) ingested by all replication jobsCOUNTERBYTES
physical_replication.replicated_time_seconds
The replicated time of the physical replication stream in seconds since the unix epoch.GAUGESECONDS
queue.consistency.pending
Number of pending replicas in the consistency checker queueGAUGECOUNT
queue.consistency.process.failure
Number of replicas which failed processing in the consistency checker queueCOUNTERCOUNT
queue.consistency.process.success
Number of replicas successfully processed by the consistency checker queueCOUNTERCOUNT
queue.consistency.processingnanos
Nanoseconds spent processing replicas in the consistency checker queueCOUNTERNANOSECONDS
queue.gc.info.abortspanconsidered
Number of AbortSpan entries old enough to be considered for removalCOUNTERCOUNT
queue.gc.info.abortspangcnum
Number of AbortSpan entries fit for removalCOUNTERCOUNT
queue.gc.info.abortspanscanned
Number of transactions present in the AbortSpan scanned from the engineCOUNTERCOUNT
queue.gc.info.clearrangefailed
Number of failed ClearRange operations during GCCOUNTERCOUNT
queue.gc.info.clearrangesuccess
Number of successful ClearRange operations during GCCOUNTERCOUNT
queue.gc.info.intentsconsidered
Number of ‘old’ intentsCOUNTERCOUNT
queue.gc.info.intenttxns
Number of associated distinct transactionsCOUNTERCOUNT
queue.gc.info.numkeysaffected
Number of keys with GC’able dataCOUNTERCOUNT
queue.gc.info.pushtxn
Number of attempted pushesCOUNTERCOUNT
queue.gc.info.resolvesuccess
Number of successful intent resolutionsCOUNTERCOUNT
queue.gc.info.resolvetotal
Number of attempted intent resolutionsCOUNTERCOUNT
queue.gc.info.transactionspangcaborted
Number of GC’able entries corresponding to aborted txnsCOUNTERCOUNT
queue.gc.info.transactionspangccommitted
Number of GC’able entries corresponding to committed txnsCOUNTERCOUNT
queue.gc.info.transactionspangcpending
Number of GC’able entries corresponding to pending txnsCOUNTERCOUNT
queue.gc.info.transactionspanscanned
Number of entries in transaction spans scanned from the engineCOUNTERCOUNT
queue.gc.pending
Number of pending replicas in the MVCC GC queueGAUGECOUNT
queue.gc.process.failure
Number of replicas which failed processing in the MVCC GC queueCOUNTERCOUNT
queue.gc.process.success
Number of replicas successfully processed by the MVCC GC queueCOUNTERCOUNT
queue.gc.processingnanos
Nanoseconds spent processing replicas in the MVCC GC queueCOUNTERNANOSECONDS
queue.raftlog.pending
Number of pending replicas in the Raft log queueGAUGECOUNT
queue.raftlog.process.failure
Number of replicas which failed processing in the Raft log queueCOUNTERCOUNT
queue.raftlog.process.success
Number of replicas successfully processed by the Raft log queueCOUNTERCOUNT
queue.raftlog.processingnanos
Nanoseconds spent processing replicas in the Raft log queueCOUNTERNANOSECONDS
queue.raftsnapshot.pending
Number of pending replicas in the Raft repair queueGAUGECOUNT
queue.raftsnapshot.process.failure
Number of replicas which failed processing in the Raft repair queueCOUNTERCOUNT
queue.raftsnapshot.process.success
Number of replicas successfully processed by the Raft repair queueCOUNTERCOUNT
queue.raftsnapshot.processingnanos
Nanoseconds spent processing replicas in the Raft repair queueCOUNTERNANOSECONDS
queue.replicagc.pending
Number of pending replicas in the replica GC queueGAUGECOUNT
queue.replicagc.process.failure
Number of replicas which failed processing in the replica GC queueCOUNTERCOUNT
queue.replicagc.process.success
Number of replicas successfully processed by the replica GC queueCOUNTERCOUNT
queue.replicagc.processingnanos
Nanoseconds spent processing replicas in the replica GC queueCOUNTERNANOSECONDS
queue.replicagc.removereplica
Number of replica removals attempted by the replica GC queueCOUNTERCOUNT
queue.replicate.addreplica
Number of replica additions attempted by the replicate queueCOUNTERCOUNT
queue.replicate.addreplica.error
Number of failed replica additions processed by the replicate queueCOUNTERCOUNT
queue.replicate.addreplica.success
Number of successful replica additions processed by the replicate queueCOUNTERCOUNT
queue.replicate.pending
Number of pending replicas in the replicate queueGAUGECOUNT
queue.replicate.process.failure
Number of replicas which failed processing in the replicate queueCOUNTERCOUNT
queue.replicate.process.success
Number of replicas successfully processed by the replicate queueCOUNTERCOUNT
queue.replicate.processingnanos
Nanoseconds spent processing replicas in the replicate queueCOUNTERNANOSECONDS
queue.replicate.purgatory
Number of replicas in the replicate queue’s purgatory, awaiting allocation optionsGAUGECOUNT
queue.replicate.rebalancereplica
Number of replica rebalancer-initiated additions attempted by the replicate queueCOUNTERCOUNT
queue.replicate.removedeadreplica
Number of dead replica removals attempted by the replicate queue (typically in response to a node outage)COUNTERCOUNT
queue.replicate.removedeadreplica.error
Number of failed dead replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.removedeadreplica.success
Number of successful dead replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.removedecommissioningreplica.error
Number of failed decommissioning replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.removedecommissioningreplica.success
Number of successful decommissioning replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.removereplica
Number of replica removals attempted by the replicate queue (typically in response to a rebalancer-initiated addition)COUNTERCOUNT
queue.replicate.removereplica.error
Number of failed replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.removereplica.success
Number of successful replica removals processed by the replicate queueCOUNTERCOUNT
queue.replicate.replacedeadreplica.error
Number of failed dead replica replacements processed by the replicate queueCOUNTERCOUNT
queue.replicate.replacedeadreplica.success
Number of successful dead replica replacements processed by the replicate queueCOUNTERCOUNT
queue.replicate.replacedecommissioningreplica.error
Number of failed decommissioning replica replacements processed by the replicate queueCOUNTERCOUNT
queue.replicate.replacedecommissioningreplica.success
Number of successful decommissioning replica replacements processed by the replicate queueCOUNTERCOUNT
queue.replicate.transferlease
Number of range lease transfers attempted by the replicate queueCOUNTERCOUNT
queue.split.pending
Number of pending replicas in the split queueGAUGECOUNT
queue.split.process.failure
Number of replicas which failed processing in the split queueCOUNTERCOUNT
queue.split.process.success
Number of replicas successfully processed by the split queueCOUNTERCOUNT
queue.split.processingnanos
Nanoseconds spent processing replicas in the split queueCOUNTERNANOSECONDS
queue.tsmaintenance.pending
Number of pending replicas in the time series maintenance queueGAUGECOUNT
queue.tsmaintenance.process.failure
Number of replicas which failed processing in the time series maintenance queueCOUNTERCOUNT
queue.tsmaintenance.process.success
Number of replicas successfully processed by the time series maintenance queueCOUNTERCOUNT
queue.tsmaintenance.processingnanos
Nanoseconds spent processing replicas in the time series maintenance queueCOUNTERNANOSECONDS
raft.commandsapplied
Number of Raft commands applied. This measurement is taken on the Raft apply loops of all Replicas (leaders and followers alike), meaning that it does not measure the number of Raft commands *proposed* (in the hypothetical extreme case, all Replicas may apply all commands through snapshots, thus not increasing this metric at all). Instead, it is a proxy for how much work is being done advancing the Replica state machines on this node.COUNTERCOUNT
raft.heartbeats.pending
Number of pending heartbeats and responses waiting to be coalescedGAUGECOUNT
raft.process.commandcommit.latency
Latency histogram for applying a batch of Raft commands to the state machine. This metric is misnamed: it measures the latency for *applying* a batch of committed Raft commands to a Replica state machine. This requires only non-durable I/O (except for replication configuration changes). Note that a “batch” in this context is really a sub-batch of the batch received for application during raft ready handling. The ‘raft.process.applycommitted.latency’ histogram is likely more suitable in most cases, as it measures the total latency across all sub-batches (i.e. the sum of commandcommit.latency for a complete batch). HISTOGRAMNANOSECONDS
raft.process.logcommit.latency
Latency histogram for committing Raft log entries to stable storage This measures the latency of durably committing a group of newly received Raft entries as well as the HardState entry to disk. This excludes any data processing, i.e. we measure purely the commit latency of the resulting Engine write. Homogeneous bands of p50-p99 latencies (in the presence of regular Raft traffic), make it likely that the storage layer is healthy. Spikes in the latency bands can either hint at the presence of large sets of Raft entries being received, or at performance issues at the storage layer. HISTOGRAMNANOSECONDS
raft.process.tickingnanos
Nanoseconds spent in store.processRaft() processing replica.Tick()COUNTERNANOSECONDS
raft.process.workingnanos
Nanoseconds spent in store.processRaft() working. This is the sum of the measurements passed to the raft.process.handleready.latency histogram. COUNTERNANOSECONDS
raft.rcvd.app
Number of MsgApp messages received by this storeCOUNTERCOUNT
raft.rcvd.appresp
Number of MsgAppResp messages received by this storeCOUNTERCOUNT
raft.rcvd.dropped
Number of incoming Raft messages dropped (due to queue length or size)COUNTERCOUNT
raft.rcvd.heartbeat
Number of (coalesced, if enabled) MsgHeartbeat messages received by this storeCOUNTERCOUNT
raft.rcvd.heartbeatresp
Number of (coalesced, if enabled) MsgHeartbeatResp messages received by this storeCOUNTERCOUNT
raft.rcvd.prevote
Number of MsgPreVote messages received by this storeCOUNTERCOUNT
raft.rcvd.prevoteresp
Number of MsgPreVoteResp messages received by this storeCOUNTERCOUNT
raft.rcvd.prop
Number of MsgProp messages received by this storeCOUNTERCOUNT
raft.rcvd.snap
Number of MsgSnap messages received by this storeCOUNTERCOUNT
raft.rcvd.timeoutnow
Number of MsgTimeoutNow messages received by this storeCOUNTERCOUNT
raft.rcvd.transferleader
Number of MsgTransferLeader messages received by this storeCOUNTERCOUNT
raft.rcvd.vote
Number of MsgVote messages received by this storeCOUNTERCOUNT
raft.rcvd.voteresp
Number of MsgVoteResp messages received by this storeCOUNTERCOUNT
raft.ticks
Number of Raft ticks queuedCOUNTERCOUNT
raftlog.behind
Number of Raft log entries followers on other stores are behind. This gauge provides a view of the aggregate number of log entries the Raft leaders on this node think the followers are behind. Since a raft leader may not always have a good estimate for this information for all of its followers, and since followers are expected to be behind (when they are not required as part of a quorum) *and* the aggregate thus scales like the count of such followers, it is difficult to meaningfully interpret this metric.GAUGECOUNT
raftlog.truncated
Number of Raft log entries truncatedCOUNTERCOUNT
range.adds
Number of range additionsCOUNTERCOUNT
range.merges
Number of range mergesCOUNTERCOUNT
range.raftleadertransfers
Number of raft leader transfersCOUNTERCOUNT
range.removes
Number of range removalsCOUNTERCOUNT
range.snapshots.generated
Number of generated snapshotsCOUNTERCOUNT
range.snapshots.rcvd-bytes
Number of snapshot bytes receivedCOUNTERBYTES
range.snapshots.rebalancing.rcvd-bytes
Number of rebalancing snapshot bytes receivedCOUNTERBYTES
range.snapshots.rebalancing.sent-bytes
Number of rebalancing snapshot bytes sentCOUNTERBYTES
range.snapshots.recovery.rcvd-bytes
Number of raft recovery snapshot bytes receivedCOUNTERBYTES
range.snapshots.recovery.sent-bytes
Number of raft recovery snapshot bytes sentCOUNTERBYTES
range.snapshots.recv-in-progress
Number of non-empty snapshots being receivedGAUGECOUNT
range.snapshots.recv-queue
Number of snapshots queued to receiveGAUGECOUNT
range.snapshots.recv-total-in-progress
Number of total snapshots being receivedGAUGECOUNT
range.snapshots.send-in-progress
Number of non-empty snapshots being sentGAUGECOUNT
range.snapshots.send-queue
Number of snapshots queued to sendGAUGECOUNT
range.snapshots.send-total-in-progress
Number of total snapshots being sentGAUGECOUNT
range.snapshots.sent-bytes
Number of snapshot bytes sentCOUNTERBYTES
range.snapshots.unknown.rcvd-bytes
Number of unknown snapshot bytes receivedCOUNTERBYTES
range.snapshots.unknown.sent-bytes
Number of unknown snapshot bytes sentCOUNTERBYTES
range.splits
Number of range splitsCOUNTERCOUNT
rangekeybytes
Number of bytes taken up by range keys (e.g. MVCC range tombstones)GAUGEBYTES
rangekeycount
Count of all range keys (e.g. MVCC range tombstones)GAUGECOUNT
ranges
Number of rangesGAUGECOUNT
ranges.overreplicated
Number of ranges with more live replicas than the replication targetGAUGECOUNT
ranges.unavailable
Number of ranges with fewer live replicas than needed for quorumGAUGECOUNT
ranges.underreplicated
Number of ranges with fewer live replicas than the replication targetGAUGECOUNT
rangevalbytes
Number of bytes taken up by range key values (e.g. MVCC range tombstones)GAUGEBYTES
rangevalcount
Count of all range key values (e.g. MVCC range tombstones)GAUGECOUNT
rebalancing.queriespersecond
Number of kv-level requests received per second by the store, considering the last 30 minutes, as used in rebalancing decisions.GAUGECOUNT
rebalancing.readbytespersecond
Number of bytes read recently per second, considering the last 30 minutes.GAUGEBYTES
rebalancing.readspersecond
Number of keys read recently per second, considering the last 30 minutes.GAUGECOUNT
rebalancing.requestspersecond
Number of requests received recently per second, considering the last 30 minutes.GAUGECOUNT
rebalancing.writebytespersecond
Number of bytes written recently per second, considering the last 30 minutes.GAUGEBYTES
rebalancing.writespersecond
Number of keys written (i.e. applied by raft) per second to the store, considering the last 30 minutes.GAUGECOUNT
replicas
Number of replicasGAUGECOUNT
replicas.leaders
Number of raft leadersGAUGECOUNT
replicas.leaders_invalid_lease
Number of replicas that are Raft leaders whose lease is invalidGAUGECOUNT
replicas.leaders_not_leaseholders
Number of replicas that are Raft leaders whose range lease is held by another storeGAUGECOUNT
replicas.leaseholders
Number of lease holdersGAUGECOUNT
replicas.quiescent
Number of quiesced replicasGAUGECOUNT
replicas.reserved
Number of replicas reserved for snapshotsGAUGECOUNT
requests.backpressure.split
Number of backpressured writes waiting on a Range split. A Range will backpressure (roughly) non-system traffic when the range is above the configured size until the range splits. When the rate of this metric is nonzero over extended periods of time, it should be investigated why splits are not occurring. GAUGECOUNT
requests.slow.distsender
Number of range-bound RPCs currently stuck or retrying for a long time. Note that this is not a good signal for KV health. The remote side of the RPCs tracked here may experience contention, so an end user can easily cause values for this metric to be emitted by leaving a transaction open for a long time and contending with it using a second transaction.GAUGECOUNT
requests.slow.lease
Number of requests that have been stuck for a long time acquiring a lease. This gauge registering a nonzero value usually indicates range or replica unavailability, and should be investigated. In the common case, we also expect to see ‘requests.slow.raft’ to register a nonzero value, indicating that the lease requests are not getting a timely response from the replication layer. GAUGECOUNT
requests.slow.raft
Number of requests that have been stuck for a long time in the replication layer. An (evaluated) request has to pass through the replication layer, notably the quota pool and raft. If it fails to do so within a highly permissive duration, the gauge is incremented (and decremented again once the request is either applied or returns an error). A nonzero value indicates range or replica unavailability, and should be investigated. GAUGECOUNT
rocksdb.block.cache.hits
Count of block cache hitsCOUNTERCOUNT
rocksdb.block.cache.misses
Count of block cache missesCOUNTERCOUNT
rocksdb.block.cache.usage
Bytes used by the block cacheGAUGEBYTES
rocksdb.bloom.filter.prefix.checked
Number of times the bloom filter was checkedCOUNTERCOUNT
rocksdb.bloom.filter.prefix.useful
Number of times the bloom filter helped avoid iterator creationCOUNTERCOUNT
rocksdb.compactions
Number of table compactionsCOUNTERCOUNT
rocksdb.flushes
Number of table flushesCOUNTERCOUNT
rocksdb.memtable.total-size
Current size of memtable in bytesGAUGEBYTES
rocksdb.num-sstables
Number of storage engine SSTablesGAUGECOUNT
rocksdb.read-amplification
Number of disk reads per queryGAUGECOUNT
rocksdb.table-readers-mem-estimate
Memory used by index and filter blocksGAUGEBYTES
round-trip-latency
Distribution of round-trip latencies with other nodes. This only reflects successful heartbeats and measures gRPC overhead as well as possible head-of-line blocking. Elevated values in this metric may hint at network issues and/or saturation, but they are no proof of them. CPU overload can similarly elevate this metric. The operator should look towards OS-level metrics such as packet loss, retransmits, etc, to conclusively diagnose network issues. Heartbeats are not very frequent (~seconds), so they may not capture rare or short-lived degradations. HISTOGRAMNANOSECONDS
rpc.connection.avg_round_trip_latency
Sum of exponentially weighted moving average of round-trip latencies, as measured through a gRPC RPC. Dividing this Gauge by rpc.connection.healthy gives an approximation of average latency, but the top-level round-trip-latency histogram is more useful. Instead, users should consult the label families of this metric if they are available (which requires prometheus and the cluster setting ‘server.child_metrics.enabled’); these provide per-peer moving averages. This metric does not track failed connection. A failed connection’s contribution is reset to zero. GAUGENANOSECONDS
rpc.connection.failures
Counter of failed connections. This includes both the event in which a healthy connection terminates as well as unsuccessful reconnection attempts. Connections that are terminated as part of local node shutdown are excluded. Decommissioned peers are excluded. COUNTERCOUNT
rpc.connection.healthy
Gauge of current connections in a healthy state (i.e. bidirectionally connected and heartbeating)GAUGECOUNT
rpc.connection.healthy_nanos
Gauge of nanoseconds of healthy connection time On the prometheus endpoint scraped with the cluster setting ‘server.child_metrics.enabled’ set, the constituent parts of this metric are available on a per-peer basis and one can read off for how long a given peer has been connectedGAUGENANOSECONDS
rpc.connection.heartbeats
Counter of successful heartbeats.COUNTERCOUNT
rpc.connection.unhealthy
Gauge of current connections in an unhealthy state (not bidirectionally connected or heartbeating)GAUGECOUNT
rpc.connection.unhealthy_nanos
Gauge of nanoseconds of unhealthy connection time. On the prometheus endpoint scraped with the cluster setting ‘server.child_metrics.enabled’ set, the constituent parts of this metric are available on a per-peer basis and one can read off for how long a given peer has been unreachableGAUGENANOSECONDS
schedules.BACKUP.failed
Number of BACKUP jobs failedCOUNTERCOUNT
schedules.BACKUP.last-completed-time
The unix timestamp of the most recently completed backup by a schedule specified as maintaining this metricGAUGETIMESTAMP_SEC
schedules.BACKUP.protected_age_sec
The age of the oldest PTS record protected by BACKUP schedulesGAUGESECONDS
schedules.BACKUP.protected_record_count
Number of PTS records held by BACKUP schedulesGAUGECOUNT
schedules.BACKUP.started
Number of BACKUP jobs startedCOUNTERCOUNT
schedules.BACKUP.succeeded
Number of BACKUP jobs succeededCOUNTERCOUNT
schedules.scheduled-row-level-ttl-executor.failed
Number of scheduled-row-level-ttl-executor jobs failedCOUNTERCOUNT
security.certificate.expiration.ca
Expiration for the CA certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.ca-client-tenant
Expiration for the Tenant Client CA certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.client
Minimum expiration for client certificates, labeled by SQL user. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.client-ca
Expiration for the client CA certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.client-tenant
Expiration for the Tenant Client certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.node
Expiration for the node certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.node-client
Expiration for the node’s client certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.ui
Expiration for the UI certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.expiration.ui-ca
Expiration for the UI CA certificate. 0 means no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.ca
Seconds till expiration for the CA certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.ca-client-tenant
Seconds till expiration for the Tenant Client CA certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.client
Seconds till expiration for the client certificates, labeled by SQL user. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.client-ca
Seconds till expiration for the client CA certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.client-tenant
Seconds till expiration for the Tenant Client certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.node
Seconds till expiration for the node certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.node-client
Seconds till expiration for the node’s client certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.ui
Seconds till expiration for the UI certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
security.certificate.ttl.ui-ca
Seconds till expiration for the UI CA certificate. 0 means expired, no certificate or error.GAUGETIMESTAMP_SEC
sql.bytesin
Number of SQL bytes receivedCOUNTERBYTES
sql.bytesout
Number of SQL bytes sentCOUNTERBYTES
sql.conn.latency
Latency to establish and authenticate a SQL connectionHISTOGRAMNANOSECONDS
sql.conns
Number of open SQL connectionsGAUGECOUNT
sql.crud_query.count
Number of SQL SELECT, INSERT, UPDATE, DELETE statements successfully executedCOUNTERCOUNT
sql.crud_query.started.count
Number of SQL SELECT, INSERT, UPDATE, DELETE statements startedCOUNTERCOUNT
sql.ddl.count
Number of SQL DDL statements successfully executedCOUNTERCOUNT
sql.delete.count
Number of SQL DELETE statements successfully executedCOUNTERCOUNT
sql.distsql.contended_queries.count
Number of SQL queries that experienced contentionCOUNTERCOUNT
sql.distsql.exec.latency
Latency of DistSQL statement executionHISTOGRAMNANOSECONDS
sql.distsql.flows.active
Number of distributed SQL flows currently activeGAUGECOUNT
sql.distsql.flows.total
Number of distributed SQL flows executedCOUNTERCOUNT
sql.distsql.queries.active
Number of invocations of the execution engine currently active (multiple of which may occur for a single SQL statement)GAUGECOUNT
sql.distsql.queries.total
Number of invocations of the execution engine executed (multiple of which may occur for a single SQL statement)COUNTERCOUNT
sql.distsql.select.count
Number of SELECT statements planned to be distributedCOUNTERCOUNT
sql.distsql.service.latency
Latency of DistSQL request executionHISTOGRAMNANOSECONDS
sql.exec.latency
Latency of SQL statement executionHISTOGRAMNANOSECONDS
sql.exec.latency.detail
Latency of SQL statement execution, by statement fingerprintHISTOGRAMNANOSECONDS
sql.failure.count
Number of statements resulting in a planning or runtime errorCOUNTERCOUNT
sql.full.scan.count
Number of full table or index scansCOUNTERCOUNT
sql.guardrails.max_row_size_err.count
Number of rows observed violating sql.guardrails.max_row_size_errCOUNTERCOUNT
sql.guardrails.max_row_size_log.count
Number of rows observed violating sql.guardrails.max_row_size_logCOUNTERCOUNT
sql.insert.count
Number of SQL INSERT statements successfully executedCOUNTERCOUNT
sql.mem.distsql.current
Current sql statement memory usage for distsqlGAUGEBYTES
sql.mem.distsql.max
Memory usage per sql statement for distsqlHISTOGRAMBYTES
sql.mem.internal.session.current
Current sql session memory usage for internalGAUGEBYTES
sql.mem.internal.session.max
Memory usage per sql session for internalHISTOGRAMBYTES
sql.mem.internal.txn.current
Current sql transaction memory usage for internalGAUGEBYTES
sql.mem.internal.txn.max
Memory usage per sql transaction for internalHISTOGRAMBYTES
sql.mem.root.current
Current sql statement memory usage for rootGAUGEBYTES
sql.mem.root.max
Memory usage per sql statement for rootHISTOGRAMBYTES
sql.misc.count
Number of other SQL statements successfully executedCOUNTERCOUNT
sql.new_conns
Number of SQL connections createdCOUNTERCOUNT
sql.pgwire_cancel.ignored
Number of pgwire query cancel requests that were ignored due to rate limitingCOUNTERCOUNT
sql.pgwire_cancel.successful
Number of pgwire query cancel requests that were successfulCOUNTERCOUNT
sql.pgwire_cancel.total
Number of pgwire query cancel requestsCOUNTERCOUNT
sql.query.count
Number of SQL operations started including queries, and transaction control statementsCOUNTERCOUNT
sql.query.unique.count
Cardinality estimate of the set of statement fingerprintsCOUNTERCOUNT
sql.select.count
Number of SQL SELECT statements successfully executedCOUNTERCOUNT
sql.service.latency
Latency of SQL request executionHISTOGRAMNANOSECONDS
sql.statements.active
Number of currently active user SQL statementsGAUGECOUNT
sql.txn.abort.count
Number of SQL transaction abort errorsCOUNTERCOUNT
sql.txn.begin.count
Number of SQL transaction BEGIN statements successfully executedCOUNTERCOUNT
sql.txn.commit.count
Number of SQL transaction COMMIT statements successfully executedCOUNTERCOUNT
sql.txn.contended.count
Number of SQL transactions experienced contentionCOUNTERCOUNT
sql.txn.latency
Latency of SQL transactionsHISTOGRAMNANOSECONDS
sql.txn.rollback.count
Number of SQL transaction ROLLBACK statements successfully executedCOUNTERCOUNT
sql.txns.open
Number of currently open user SQL transactionsGAUGECOUNT
sql.update.count
Number of SQL UPDATE statements successfully executedCOUNTERCOUNT
storage.keys.range-key-set.count
Approximate count of RangeKeySet internal keys across the storage engine.GAUGECOUNT
storage.l0-level-score
Compaction score of level 0GAUGECOUNT
storage.l0-level-size
Size of the SSTables in level 0GAUGEBYTES
storage.l0-num-files
Number of SSTables in Level 0GAUGECOUNT
storage.l0-sublevels
Number of Level 0 sublevelsGAUGECOUNT
storage.l1-level-score
Compaction score of level 1GAUGECOUNT
storage.l1-level-size
Size of the SSTables in level 1GAUGEBYTES
storage.l2-level-score
Compaction score of level 2GAUGECOUNT
storage.l2-level-size
Size of the SSTables in level 2GAUGEBYTES
storage.l3-level-score
Compaction score of level 3GAUGECOUNT
storage.l3-level-size
Size of the SSTables in level 3GAUGEBYTES
storage.l4-level-score
Compaction score of level 4GAUGECOUNT
storage.l4-level-size
Size of the SSTables in level 4GAUGEBYTES
storage.l5-level-score
Compaction score of level 5GAUGECOUNT
storage.l5-level-size
Size of the SSTables in level 5GAUGEBYTES
storage.l6-level-score
Compaction score of level 6GAUGECOUNT
storage.l6-level-size
Size of the SSTables in level 6GAUGEBYTES
storage.marked-for-compaction-files
Count of SSTables marked for compactionGAUGECOUNT
storage.write-stalls
Number of instances of intentional write stalls to backpressure incoming writesGAUGECOUNT
sys.cgo.allocbytes
Current bytes of memory allocated by cgoGAUGEBYTES
sys.cgo.totalbytes
Total bytes of memory allocated by cgo, but not releasedGAUGEBYTES
sys.cgocalls
Total number of cgo callsCOUNTERCOUNT
sys.cpu.combined.percent-normalized
Current user+system cpu percentage consumed by the CRDB process, normalized 0-1 by number of coresGAUGEPERCENT
sys.cpu.host.combined.percent-normalized
Current user+system cpu percentage across the whole machine, normalized 0-1 by number of coresGAUGEPERCENT
sys.cpu.sys.ns
Total system cpu time consumed by the CRDB processCOUNTERNANOSECONDS
sys.cpu.sys.percent
Current system cpu percentage consumed by the CRDB processGAUGEPERCENT
sys.cpu.user.ns
Total user cpu time consumed by the CRDB processCOUNTERNANOSECONDS
sys.cpu.user.percent
Current user cpu percentage consumed by the CRDB processGAUGEPERCENT
sys.fd.open
Process open file descriptorsGAUGECOUNT
sys.fd.softlimit
Process open FD soft limitGAUGECOUNT
sys.gc.count
Total number of GC runsCOUNTERCOUNT
sys.gc.pause.ns
Total GC pauseCOUNTERNANOSECONDS
sys.gc.pause.percent
Current GC pause percentageGAUGEPERCENT
sys.go.allocbytes
Current bytes of memory allocated by goGAUGEBYTES
sys.go.totalbytes
Total bytes of memory allocated by go, but not releasedGAUGEBYTES
sys.goroutines
Current number of goroutinesGAUGECOUNT
sys.host.disk.iopsinprogress
IO operations currently in progress on this host (as reported by the OS)GAUGECOUNT
sys.host.disk.read.bytes
Bytes read from all disks since this process started (as reported by the OS)COUNTERBYTES
sys.host.disk.read.count
Disk read operations across all disks since this process started (as reported by the OS)COUNTERCOUNT
sys.host.disk.write.bytes
Bytes written to all disks since this process started (as reported by the OS)COUNTERBYTES
sys.host.disk.write.count
Disk write operations across all disks since this process started (as reported by the OS)COUNTERCOUNT
sys.host.net.recv.bytes
Bytes received on all network interfaces since this process started (as reported by the OS)COUNTERBYTES
sys.host.net.send.bytes
Bytes sent on all network interfaces since this process started (as reported by the OS)COUNTERBYTES
sys.rss
Current process RSSGAUGEBYTES
sys.runnable.goroutines.per.cpu
Average number of goroutines that are waiting to run, normalized by number of coresGAUGECOUNT
sys.totalmem
Total memory (both free and used)GAUGEBYTES
sys.uptime
Process uptimeCOUNTERSECONDS
sysbytes
Number of bytes in system KV pairsGAUGEBYTES
syscount
Count of system KV pairsGAUGECOUNT
tenant.consumption.cross_region_network_ru
Total number of RUs charged for cross-region network trafficCOUNTERCOUNT
tenant.consumption.external_io_egress_bytes
Total number of bytes written to external services such as cloud storage providersGAUGECOUNT
tenant.consumption.pgwire_egress_bytes
Total number of bytes transferred from a SQL pod to the clientGAUGECOUNT
tenant.consumption.read_batches
Total number of KV read batchesGAUGECOUNT
tenant.consumption.read_bytes
Total number of bytes read from KVGAUGECOUNT
tenant.consumption.read_requests
Total number of KV read requestsGAUGECOUNT
tenant.consumption.request_units
Total RU consumptionCOUNTERCOUNT
tenant.consumption.sql_pods_cpu_seconds
Total amount of CPU used by SQL podsGAUGESECONDS
tenant.consumption.write_batches
Total number of KV write batchesGAUGECOUNT
tenant.consumption.write_bytes
Total number of bytes written to KVGAUGECOUNT
tenant.consumption.write_requests
Total number of KV write requestsGAUGECOUNT
tenant.sql_usage.cross_region_network_ru
Total number of RUs charged for cross-region network trafficCOUNTERCOUNT
tenant.sql_usage.estimated_cpu_seconds
Estimated amount of CPU consumed by a virtual clusterCOUNTERSECONDS
tenant.sql_usage.external_io_egress_bytes
Total number of bytes written to external services such as cloud storage providersCOUNTERCOUNT
tenant.sql_usage.external_io_ingress_bytes
Total number of bytes read from external services such as cloud storage providersCOUNTERCOUNT
tenant.sql_usage.kv_request_units
RU consumption attributable to KVCOUNTERCOUNT
tenant.sql_usage.pgwire_egress_bytes
Total number of bytes transferred from a SQL pod to the clientCOUNTERCOUNT
tenant.sql_usage.provisioned_vcpus
Number of vcpus available to the virtual clusterGAUGECOUNT
tenant.sql_usage.read_batches
Total number of KV read batchesCOUNTERCOUNT
tenant.sql_usage.read_bytes
Total number of bytes read from KVCOUNTERCOUNT
tenant.sql_usage.read_requests
Total number of KV read requestsCOUNTERCOUNT
tenant.sql_usage.request_units
RU consumptionCOUNTERCOUNT
tenant.sql_usage.sql_pods_cpu_seconds
Total amount of CPU used by SQL podsCOUNTERSECONDS
tenant.sql_usage.write_batches
Total number of KV write batchesCOUNTERCOUNT
tenant.sql_usage.write_bytes
Total number of bytes written to KVCOUNTERCOUNT
tenant.sql_usage.write_requests
Total number of KV write requestsCOUNTERCOUNT
timeseries.write.bytes
Total size in bytes of metric samples written to diskCOUNTERBYTES
timeseries.write.errors
Total errors encountered while attempting to write metrics to diskCOUNTERCOUNT
timeseries.write.samples
Total number of metric samples written to diskCOUNTERCOUNT
totalbytes
Total number of bytes taken up by keys and values including non-live dataGAUGEBYTES
txn.aborts
Number of aborted KV transactionsCOUNTERCOUNT
txn.commits
Number of committed KV transactions (including 1PC)COUNTERCOUNT
txn.commits1PC
Number of KV transaction one-phase commitsCOUNTERCOUNT
txn.durations
KV transaction durationsHISTOGRAMNANOSECONDS
txn.restarts
Number of restarted KV transactionsHISTOGRAMCOUNT
txn.restarts.asyncwritefailure
Number of restarts due to async consensus writes that failed to leave intentsCOUNTERCOUNT
txn.restarts.readwithinuncertainty
Number of restarts due to reading a new value within the uncertainty intervalCOUNTERCOUNT
txn.restarts.serializable
Number of restarts due to a forwarded commit timestamp and isolation=SERIALIZABLECOUNTERCOUNT
txn.restarts.txnaborted
Number of restarts due to an abort by a concurrent transaction (usually due to deadlock)COUNTERCOUNT
txn.restarts.txnpush
Number of restarts due to a transaction push failureCOUNTERCOUNT
txn.restarts.unknown
Number of restarts due to a unknown reasonsCOUNTERCOUNT
txn.restarts.writetooold
Number of restarts due to a concurrent writer committing firstCOUNTERCOUNT
txnwaitqueue.deadlocks_total
Number of deadlocks detected by the txn wait queueCOUNTERCOUNT
valbytes
Number of bytes taken up by valuesGAUGEBYTES
valcount
Count of all valuesGAUGECOUNT

See also