Synchronize statistic enumeration values between statistics.h and java API

Summary: Closes https://github.com/facebook/rocksdb/pull/2209

Differential Revision: D5251951

Pulled By: sagar0

fbshipit-source-id: 03a73d025a7b4a322bb8d8d86f5d249fcd7dd00e
This commit is contained in:
Ben Torfs 2017-06-14 16:57:39 -07:00 committed by Facebook Github Bot
parent 53dda8797d
commit 6a3377f454
3 changed files with 147 additions and 60 deletions

View File

@ -21,6 +21,7 @@ namespace rocksdb {
* Keep adding ticker's here.
* 1. Any ticker should be added before TICKER_ENUM_MAX.
* 2. Add a readable string in TickersNameMap below for the newly added ticker.
* 3. Add a corresponding enum value to TickerType.java in the java API
*/
enum Tickers : uint32_t {
// total block cache misses
@ -332,6 +333,7 @@ const std::vector<std::pair<Tickers, std::string>> TickersNameMap = {
* Add a new Histogram by assigning it the current value of HISTOGRAM_ENUM_MAX
* Add a string representation in HistogramsNameMap below
* And increment HISTOGRAM_ENUM_MAX
* Add a corresponding enum value to HistogramType.java in the java API
*/
enum Histograms : uint32_t {
DB_GET = 0,

View File

@ -29,10 +29,15 @@ public enum HistogramType {
DB_SEEK(19),
WRITE_STALL(20),
SST_READ_MICROS(21),
// The number of subcompactions actually scheduled during a compaction
NUM_SUBCOMPACTIONS_SCHEDULED(22),
// Value size distribution in each operation
BYTES_PER_READ(23),
BYTES_PER_WRITE(24),
BYTES_PER_MULTIGET(25),
// number of bytes compressed/decompressed
// number of bytes is when uncompressed; i.e. before/after respectively
BYTES_COMPRESSED(26),
BYTES_DECOMPRESSED(27),
COMPRESSION_TIMES_NANOS(28),

View File

@ -18,111 +18,191 @@ public enum TickerType {
BLOCK_CACHE_HIT(1),
// # of blocks added to block cache.
BLOCK_CACHE_ADD(2),
// # of failures when adding blocks to block cache.
BLOCK_CACHE_ADD_FAILURES(3),
// # of times cache miss when accessing index block from block cache.
BLOCK_CACHE_INDEX_MISS(3),
BLOCK_CACHE_INDEX_MISS(4),
// # of times cache hit when accessing index block from block cache.
BLOCK_CACHE_INDEX_HIT(4),
BLOCK_CACHE_INDEX_HIT(5),
// # of index blocks added to block cache.
BLOCK_CACHE_INDEX_ADD(6),
// # of bytes of index blocks inserted into cache
BLOCK_CACHE_INDEX_BYTES_INSERT(7),
// # of bytes of index block erased from cache
BLOCK_CACHE_INDEX_BYTES_EVICT(8),
// # of times cache miss when accessing filter block from block cache.
BLOCK_CACHE_FILTER_MISS(5),
BLOCK_CACHE_FILTER_MISS(9),
// # of times cache hit when accessing filter block from block cache.
BLOCK_CACHE_FILTER_HIT(6),
BLOCK_CACHE_FILTER_HIT(10),
// # of filter blocks added to block cache.
BLOCK_CACHE_FILTER_ADD(11),
// # of bytes of bloom filter blocks inserted into cache
BLOCK_CACHE_FILTER_BYTES_INSERT(12),
// # of bytes of bloom filter block erased from cache
BLOCK_CACHE_FILTER_BYTES_EVICT(13),
// # of times cache miss when accessing data block from block cache.
BLOCK_CACHE_DATA_MISS(7),
BLOCK_CACHE_DATA_MISS(14),
// # of times cache hit when accessing data block from block cache.
BLOCK_CACHE_DATA_HIT(8),
BLOCK_CACHE_DATA_HIT(15),
// # of data blocks added to block cache.
BLOCK_CACHE_DATA_ADD(16),
// # of bytes of data blocks inserted into cache
BLOCK_CACHE_DATA_BYTES_INSERT(17),
// # of bytes read from cache.
BLOCK_CACHE_BYTES_READ(18),
// # of bytes written into cache.
BLOCK_CACHE_BYTES_WRITE(19),
// # of times bloom filter has avoided file reads.
BLOOM_FILTER_USEFUL(9),
BLOOM_FILTER_USEFUL(20),
// # persistent cache hit
PERSISTENT_CACHE_HIT(21),
// # persistent cache miss
PERSISTENT_CACHE_MISS(22),
// # total simulation block cache hits
SIM_BLOCK_CACHE_HIT(23),
// # total simulation block cache misses
SIM_BLOCK_CACHE_MISS(24),
// # of memtable hits.
MEMTABLE_HIT(10),
MEMTABLE_HIT(25),
// # of memtable misses.
MEMTABLE_MISS(11),
MEMTABLE_MISS(26),
// # of Get() queries served by L0
GET_HIT_L0(12),
GET_HIT_L0(27),
// # of Get() queries served by L1
GET_HIT_L1(13),
GET_HIT_L1(28),
// # of Get() queries served by L2 and up
GET_HIT_L2_AND_UP(14),
GET_HIT_L2_AND_UP(29),
/**
* COMPACTION_KEY_DROP_* count the reasons for key drop during compaction
* There are 3 reasons currently.
* There are 4 reasons currently.
*/
COMPACTION_KEY_DROP_NEWER_ENTRY(15), // key was written with a newer value.
COMPACTION_KEY_DROP_OBSOLETE(16), // The key is obsolete.
COMPACTION_KEY_DROP_USER(17), // user compaction function has dropped the key.
COMPACTION_KEY_DROP_NEWER_ENTRY(30), // key was written with a newer value.
// Also includes keys dropped for range del.
COMPACTION_KEY_DROP_OBSOLETE(31), // The key is obsolete.
COMPACTION_KEY_DROP_RANGE_DEL(32), // key was covered by a range tombstone.
COMPACTION_KEY_DROP_USER(33), // user compaction function has dropped the key.
COMPACTION_RANGE_DEL_DROP_OBSOLETE(34), // all keys in range were deleted.
// Number of keys written to the database via the Put and Write call's
NUMBER_KEYS_WRITTEN(18),
NUMBER_KEYS_WRITTEN(35),
// Number of Keys read,
NUMBER_KEYS_READ(19),
NUMBER_KEYS_READ(36),
// Number keys updated, if inplace update is enabled
NUMBER_KEYS_UPDATED(20),
// Bytes written / read
BYTES_WRITTEN(21),
BYTES_READ(22),
NO_FILE_CLOSES(23),
NO_FILE_OPENS(24),
NO_FILE_ERRORS(25),
// Time system had to wait to do LO-L1 compactions
STALL_L0_SLOWDOWN_MICROS(26),
// Time system had to wait to move memtable to L1.
STALL_MEMTABLE_COMPACTION_MICROS(27),
// write throttle because of too many files in L0
STALL_L0_NUM_FILES_MICROS(28),
NUMBER_KEYS_UPDATED(37),
// The number of uncompressed bytes issued by DB::Put(), DB::Delete(),
// DB::Merge(), and DB::Write().
BYTES_WRITTEN(38),
// The number of uncompressed bytes read from DB::Get(). It could be
// either from memtables, cache, or table files.
// For the number of logical bytes read from DB::MultiGet(),
// please use NUMBER_MULTIGET_BYTES_READ.
BYTES_READ(39),
// The number of calls to seek/next/prev
NUMBER_DB_SEEK(40),
NUMBER_DB_NEXT(41),
NUMBER_DB_PREV(42),
// The number of calls to seek/next/prev that returned data
NUMBER_DB_SEEK_FOUND(43),
NUMBER_DB_NEXT_FOUND(44),
NUMBER_DB_PREV_FOUND(45),
// The number of uncompressed bytes read from an iterator.
// Includes size of key and value.
ITER_BYTES_READ(46),
NO_FILE_CLOSES(47),
NO_FILE_OPENS(48),
NO_FILE_ERRORS(49),
// DEPRECATED Time system had to wait to do LO-L1 compactions
STALL_L0_SLOWDOWN_MICROS(50),
// DEPRECATED Time system had to wait to move memtable to L1.
STALL_MEMTABLE_COMPACTION_MICROS(51),
// DEPRECATED write throttle because of too many files in L0
STALL_L0_NUM_FILES_MICROS(52),
// Writer has to wait for compaction or flush to finish.
STALL_MICROS(29),
STALL_MICROS(53),
// The wait time for db mutex.
DB_MUTEX_WAIT_MICROS(30),
RATE_LIMIT_DELAY_MILLIS(31),
NO_ITERATORS(32), // number of iterators currently open
// Disabled by default. To enable it set stats level to kAll
DB_MUTEX_WAIT_MICROS(54),
RATE_LIMIT_DELAY_MILLIS(55),
NO_ITERATORS(56), // number of iterators currently open
// Number of MultiGet calls, keys read, and bytes read
NUMBER_MULTIGET_CALLS(33),
NUMBER_MULTIGET_KEYS_READ(34),
NUMBER_MULTIGET_BYTES_READ(35),
NUMBER_MULTIGET_CALLS(57),
NUMBER_MULTIGET_KEYS_READ(58),
NUMBER_MULTIGET_BYTES_READ(59),
// Number of deletes records that were not required to be
// written to storage because key does not exist
NUMBER_FILTERED_DELETES(36),
NUMBER_MERGE_FAILURES(37),
NUMBER_FILTERED_DELETES(60),
NUMBER_MERGE_FAILURES(61),
// number of times bloom was checked before creating iterator on a
// file, and the number of times the check was useful in avoiding
// iterator creation (and thus likely IOPs).
BLOOM_FILTER_PREFIX_CHECKED(39),
BLOOM_FILTER_PREFIX_USEFUL(40),
BLOOM_FILTER_PREFIX_CHECKED(62),
BLOOM_FILTER_PREFIX_USEFUL(63),
// Number of times we had to reseek inside an iteration to skip
// over large number of keys with same userkey.
NUMBER_OF_RESEEKS_IN_ITERATION(41),
NUMBER_OF_RESEEKS_IN_ITERATION(64),
// Record the number of calls to GetUpadtesSince. Useful to keep track of
// transaction log iterator refreshes
GET_UPDATES_SINCE_CALLS(42),
BLOCK_CACHE_COMPRESSED_MISS(43), // miss in the compressed block cache
BLOCK_CACHE_COMPRESSED_HIT(44), // hit in the compressed block cache
WAL_FILE_SYNCED(45), // Number of times WAL sync is done
WAL_FILE_BYTES(46), // Number of bytes written to WAL
GET_UPDATES_SINCE_CALLS(65),
BLOCK_CACHE_COMPRESSED_MISS(66), // miss in the compressed block cache
BLOCK_CACHE_COMPRESSED_HIT(67), // hit in the compressed block cache
// Number of blocks added to comopressed block cache
BLOCK_CACHE_COMPRESSED_ADD(68),
// Number of failures when adding blocks to compressed block cache
BLOCK_CACHE_COMPRESSED_ADD_FAILURES(69),
WAL_FILE_SYNCED(70), // Number of times WAL sync is done
WAL_FILE_BYTES(71), // Number of bytes written to WAL
// Writes can be processed by requesting thread or by the thread at the
// head of the writers queue.
WRITE_DONE_BY_SELF(47),
WRITE_DONE_BY_OTHER(48),
WRITE_TIMEDOUT(49), // Number of writes ending up with timed-out.
WRITE_WITH_WAL(50), // Number of Write calls that request WAL
COMPACT_READ_BYTES(51), // Bytes read during compaction
COMPACT_WRITE_BYTES(52), // Bytes written during compaction
FLUSH_WRITE_BYTES(53), // Bytes written during flush
WRITE_DONE_BY_SELF(72),
WRITE_DONE_BY_OTHER(73), // Equivalent to writes done for others
WRITE_TIMEDOUT(74), // Number of writes ending up with timed-out.
WRITE_WITH_WAL(75), // Number of Write calls that request WAL
COMPACT_READ_BYTES(76), // Bytes read during compaction
COMPACT_WRITE_BYTES(77), // Bytes written during compaction
FLUSH_WRITE_BYTES(78), // Bytes written during flush
// Number of table's properties loaded directly from file, without creating
// table reader object.
NUMBER_DIRECT_LOAD_TABLE_PROPERTIES(54),
NUMBER_SUPERVERSION_ACQUIRES(55),
NUMBER_SUPERVERSION_RELEASES(56),
NUMBER_SUPERVERSION_CLEANUPS(57),
NUMBER_BLOCK_NOT_COMPRESSED(58);
NUMBER_DIRECT_LOAD_TABLE_PROPERTIES(79),
NUMBER_SUPERVERSION_ACQUIRES(80),
NUMBER_SUPERVERSION_RELEASES(81),
NUMBER_SUPERVERSION_CLEANUPS(82),
// # of compressions/decompressions executed
NUMBER_BLOCK_COMPRESSED(83),
NUMBER_BLOCK_DECOMPRESSED(84),
NUMBER_BLOCK_NOT_COMPRESSED(85),
MERGE_OPERATION_TOTAL_TIME(86),
FILTER_OPERATION_TOTAL_TIME(87),
// Row cache.
ROW_CACHE_HIT(88),
ROW_CACHE_MISS(89),
// Read amplification statistics.
// Read amplification can be calculated using this formula
// (READ_AMP_TOTAL_READ_BYTES / READ_AMP_ESTIMATE_USEFUL_BYTES)
//
// REQUIRES: ReadOptions::read_amp_bytes_per_bit to be enabled
READ_AMP_ESTIMATE_USEFUL_BYTES(90), // Estimate of total bytes actually used.
READ_AMP_TOTAL_READ_BYTES(91), // Total size of loaded data blocks.
// Number of refill intervals where rate limiter's bytes are fully consumed.
NUMBER_RATE_LIMITER_DRAINS(92);
private final int value_;