Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this section, I will explain the meaning of the metrics listed in the previous section.

num-immutable-mem-table

number of immutable memtables that have not yet been flushed.

mem-table-flush-pending

returns 1 if a memtable flush is pending; otherwhise, returns 0

compaction-pending

returns 1 if at least one compaction is pending; otherwise, return 0

background-errors

returns the accumulated number of background errors

cur-size-active-mem-table

returns approximate size of active memtable in bytes

cur-size-all-mem-tables

returns approximate size of active and unflushed immutable memtables

size-all-mem-tables

returns approximate size of active, unflushed immutable, and pinned immutable memtables (bytes).

num-entries-active-mem-table

returns total number of entries in the active memtable.

num-entries-imm-mem-tables

returns total number of entries in the unflushed immutable memtables.

num-deletes-active-mem-table

returns total number of delete entries in the active memtable.

num-deletes-imm-mem-tables

returns total number of delete entries in the unflushed immutable memtables.

estimate-num-keys

returns estimated number of total keys in the active and unflushed immutable memtables and storage.

estimate-table-readers-mem

returns estimated memory used for reading SST tables, excluding memory used in block cache (e.g., filter and index blocks).

num-live-versions

returns number of live versions. `Version` is an internal data structure. See version_set.h for details. More live versions often mean more SST files are held from being deleted, by iterators or unfinished compactions.

estimate-live-data-size

returns an estimate of the amount of live data in bytes.

min-log-number-to-keep

min-obsolete-sst-number-to-keep

total-sst-files-size

live-sst-files-size

base-level

estimate-pending-compaction-bytes

num-running-compactions

num-running-flushes

actual-delayed-write-rate

is-write-stopped

estimate-oldest-key-time

block-cache-capacity

block-cache-usage

block-cache-pinned-usage

memtables-size

Memory usage of all mem-tables. Mem-tables are in-memory write buffers. Each new key-value pair is first written to a mem-table and each read looks first into the mem-table before it looks on disk. Once a mem-table is full it becomes immutable and it is replaced by a new mem-table. A background thread flushes a mem-table asynchronously to disk. Additionally, mem-tables can also be flushed manually. RocksDB keeps in memory the currently active mem-tables, full but not yet flushed mem-tables, and flushed mem-tables that are kept around to maintain write history in memory.

...