Skip to content
TidesDB

Status Variables

Status Variables

SHOW GLOBAL STATUS LIKE 'tidesdb%';

or from performance_schema, which is where this server keeps the status tables:

SELECT VARIABLE_NAME, VARIABLE_VALUE FROM performance_schema.global_status
WHERE VARIABLE_NAME LIKE 'tidesdb%';

These are the machine-readable counters for a monitoring agent such as a Prometheus exporter or PMM. Monitoring explains which of them matter and what healthy looks like. They are refreshed on demand behind a short coalescing window, so reading many of them in one statement costs a single stats pass.

Identity

VariableDescription
tidesdb_versionTideSQL plugin version string, for example 2.0.0
tidesdb_version_hexPlugin version as an integer, major-minor-patch a byte each, for example 131072 for 0x020000
tidesdb_library_versionLinked TidesDB library version string

Sequence and transactions

VariableDescription
tidesdb_column_familiesNumber of active column families
tidesdb_global_sequenceGlobal MVCC sequence number
tidesdb_min_snapshot_sequenceOldest pinned snapshot, the floor compaction cannot reclaim past
tidesdb_active_transactionsTransactions currently joined to the MVCC registry
tidesdb_txn_memory_bytesMemory held by in-flight transactions in bytes

Memory and storage

VariableDescription
tidesdb_memtable_bytesBytes in the active memtable
tidesdb_total_sstablesTotal SSTable count across all column families
tidesdb_open_sstablesOpen SSTable file handles
tidesdb_data_size_bytesTotal on-disk data size in bytes
tidesdb_immutable_memtablesSealed memtables waiting to be flushed
tidesdb_flush_pendingFlushes pending (the immutable memtable queue depth)
tidesdb_compaction_queueCompaction jobs queued for the worker pool
tidesdb_memtable_is_flushing1 while an immutable is queued or flushing
tidesdb_wal_generationCurrent write-ahead-log generation counter

Value log

VariableDescription
tidesdb_vlog_file_sizeOn-disk size of the value log in bytes
tidesdb_vlog_value_countValues the value log currently indexes
tidesdb_vlog_used_bytesUncompressed length those values represent
tidesdb_vlog_bytes_writtenLifetime bytes appended to the value log, output the flush and compaction counters do not see once values separate

Encoding

Aggregate codec-chain totals summed across every chain, so logical divided by stored is the realized compression ratio for each log. The per-chain codec breakdown prints in SHOW ENGINE TIDESDB STATUS.

VariableDescription
tidesdb_klog_logical_bytesKey-log bytes before encoding, summed across chains
tidesdb_klog_stored_bytesKey-log bytes after encoding as stored on disk
tidesdb_vlog_encoded_logical_bytesValue-log bytes before encoding, summed across chains
tidesdb_vlog_encoded_stored_bytesValue-log bytes after encoding as stored on disk

Device IO

Write accounting from the library’s file-descriptor manager, which meters the SSTable and WAL devices. The value log keeps its own byte accounting in the value-log counters above. These counters are writes only, there is no read-side or syscall figure.

VariableDescription
tidesdb_io_sstable_write_opsSSTable device writes issued since open
tidesdb_io_sstable_write_bytesBytes written to the SSTable device since open
tidesdb_io_wal_write_opsWAL device writes issued since open
tidesdb_io_wal_write_bytesBytes written to the WAL device since open

Write amplification

VariableDescription
tidesdb_user_bytes_writtenLogical committed bytes, the write-amplification denominator
tidesdb_flush_bytes_writtenBytes written to SSTables by flush jobs
tidesdb_compaction_bytes_writtenBytes written by compaction jobs
tidesdb_compaction_bytes_readBytes compaction read as input
tidesdb_flush_countFlushes completed across all column families
tidesdb_compaction_countCompactions completed across all column families

Write stalls

VariableDescription
tidesdb_writes_throttledCommits the L0 admission policy made dwell before admitting
tidesdb_writes_blockedCommits it made wait for the flush queue to drain
tidesdb_write_stall_usTotal microseconds commits spent held in admission
tidesdb_write_stall_ceiling_hitsCommits admitted only because the wait ceiling expired. Any sustained increase means flush is not keeping up with ingest

The aggregate counters above sum admission stall time. These per-reason counts split how often a commit stalled by cause, so backpressure can be attributed. The per-reason stall time prints in SHOW ENGINE TIDESDB STATUS.

VariableDescription
tidesdb_stall_wal_appendCommits that stalled appending to the write-ahead log
tidesdb_stall_rotate_lockCommits that stalled taking the memtable rotation lock
tidesdb_stall_rotate_workCommits that stalled while a memtable rotation was in progress
tidesdb_stall_admissionCommits that stalled on the unflushed-backlog admission gate
tidesdb_stall_manifest_commitCommits that stalled waiting for a manifest commit

Block cache

VariableDescription
tidesdb_cache_entriesCached entry count
tidesdb_cache_bytesBytes used by the block cache
tidesdb_cache_hitsCache hits since open
tidesdb_cache_missesCache misses since open
tidesdb_cache_hit_rateHit rate as a percentage
tidesdb_cache_partitionsNumber of cache shards

Tombstones

VariableDescription
tidesdb_total_tombstonesTotal tombstones summed across every column family
tidesdb_tombstone_ratioDatabase-wide tombstone count divided by entry count, 0.0 to 1.0
tidesdb_max_sst_tombstone_densityWorst single-SSTable tombstone density observed
tidesdb_max_sst_tombstone_density_level1-based LSM level where the worst SSTable sits