Reverbrain wiki

Site Tools


Table of Contents


During runtime eblob collects and saves to database's .stat file various internal statistics. They are useful for automation, monitoring, graphing scripts.


datasort_status: 0
read_copy_updates: 3049
prepare_reused: 147
memory_index_tree: 5520

records_total: 52
records_removed: 34
records_corrupted: 0
base_size: 16787
memory_bloom_filter: 640
memory_index_blocks: 160

BASE: test-blob-0.0
records_total: 20
records_removed: 20
records_corrupted: 0
base_size: 6799
memory_bloom_filter: 640
memory_index_blocks: 160

BASE: test-blob-0.1
records_total: 32
records_removed: 14
records_corrupted: 0
base_size: 9988
memory_bloom_filter: 0
memory_index_blocks: 0


Stats are divided into three parts:

  • GLOBAL – stats that do not belong to specific base. Most of run-time stats are kept here, like:
    • datasort_status – current data-sort state, where 1 means data-sort is in progress, 0 - it's not, and <0 means previous data-sort ended up with an error;
    • read_copy_updates – number of writes that are not done in-place, but resulted in read-copy-update cycle.
    • prepare_reused – number of times prepare() became a no-op because there was enough space in previous entry and that space can be “re-used” by rewriting entry in-place.
    • memory_index_tree – number of bytes occupied by in-memory key-tree hash. It represents all entries that do not currently have sorted-ondisk-index. Sorted ondisk index can be created either by re-initialization of eblob (e.g. elliptics restart) or by running data-sort. Memory occupied by in-memory key tree be reduced by decreasing maximum number of entries in each base(records_in_blob), maximum size of base(blob_size) or by running data-sort.
  • SUMMARY – sum() across all BASE stats.
  • BASE – stats that are specific to given base:
    • records_total – total number of records in given base.
    • records_removed – number of records marked as REMOVED in index.
    • records_corrupted – number of corrupted entries in given base.
    • base_size – disk size of base + it's sorted index.
    • memory_bloom_filter – number of bytes of memory occupied by bloom filter. Can be reduced by decreasing number of bloom bits per index block (index_block_bloom_length).
    • memory_index_blocks – can be reduced by increasing number of entries in index block (index_block_size).
  • … in future more runtime stats will be added like number of writes/reads/removes, histograms of response times, some basic OS-level monitoring like disk utilization, etc …
eblob/statistics.txt · Last modified: 2013/09/04 20:45 by savetherbtz