Skip to content
TidesDB

Status Variables

Status Variables

SHOW GLOBAL STATUS 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 5.2.1
Tidesdb_version_hexPlugin version as an integer, for example 328193 for 0x50201
Tidesdb_library_versionVersion string of the TidesDB library the plugin was built against, for example 10.2.1

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. READ UNCOMMITTED transactions do not join it and are not counted
Tidesdb_txn_memory_bytesMemory held by in-flight transactions in bytes

Transaction errors

Counters bumped each time a library error is mapped to a server error. A failure at COMMIT counts once in Tidesdb_commit_conflicts whatever its cause, and a failure inside a statement counts in the Tidesdb_stmt_* counter for its cause, so real contention can be told apart from engine churn. These are read live rather than through the refresh window.

VariableDescription
Tidesdb_commit_conflictsCOMMIT statements that failed with a deadlock or lock wait timeout error. A failure in the prepare phase, which the server runs when the binary log is on, counts here too. The server counts a failed COMMIT in Com_commit too, so subtract this to get successful commits
Tidesdb_stmt_conflictsStatements that failed on a write conflict, or because the library ran out of retries under heavy memtable rotation, returned as a deadlock error
Tidesdb_stmt_lockedStatements that failed on transient contention the library reports as locked, returned as a lock wait timeout after a short bounded retry
Tidesdb_stmt_memory_limitStatements that failed on memtable backpressure, returned as a lock wait timeout
Tidesdb_stmt_txn_expiredStatements that failed because the transaction outlived tidesdb_txn_timeout_seconds, returned as a lock wait timeout
Tidesdb_stmt_bf_abortedStatements that failed because a Galera applier brute-force aborted the transaction, returned as a deadlock error

Memory and storage

VariableDescription
Tidesdb_memtable_bytesMemory the active memtable occupies in bytes, skip-list nodes and version structs included alongside key and value bytes. This is the figure compared against tidesdb_memtable_write_buffer_size
Tidesdb_total_sstablesTotal SSTable count across all column families
Tidesdb_open_sstablesOpen SSTable file handles
Tidesdb_data_size_bytesOn-disk key-log bytes summed across every column family and level. The value log is reported separately in Tidesdb_vlog_file_size, and the WAL is not included
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. SHOW ENGINE TIDESDB STATUS prints the same totals per log with the chain count and the ratio.

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 SSTable, WAL, and value-log writes. These counters surface the SSTable and WAL classes, the value log’s write volume is in Tidesdb_vlog_bytes_written above, and all three classes print with their write timing in SHOW ENGINE TIDESDB STATUS. These counters are writes only, there is no read-side 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_countSSTables written by flushes, one per column family per flush
Tidesdb_compaction_countCompaction jobs completed across all column families. It counts jobs, not the SSTables they write

Write stalls

VariableDescription
Tidesdb_writes_throttledCommits the L0 admission policy made dwell before admitting
Tidesdb_writes_blockedCommits it made wait for the flush queue or the level-1 backlog 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, 0 if none was observed