]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/java/src/main/java/org/rocksdb/TickerType.java
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / rocksdb / java / src / main / java / org / rocksdb / TickerType.java
CommitLineData
7c673cae 1// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
11fdf7f2
TL
2// This source code is licensed under both the GPLv2 (found in the
3// COPYING file in the root directory) and Apache 2.0 License
4// (found in the LICENSE.Apache file in the root directory).
7c673cae
FG
5
6package org.rocksdb;
7
494da23a
TL
8/**
9 * The logical mapping of tickers defined in rocksdb::Tickers.
10 *
11 * Java byte value mappings don't align 1:1 to the c++ values. c++ rocksdb::Tickers enumeration type
12 * is uint32_t and java org.rocksdb.TickerType is byte, this causes mapping issues when
13 * rocksdb::Tickers value is greater then 127 (0x7F) for jbyte jni interface as range greater is not
14 * available. Without breaking interface in minor versions, value mappings for
15 * org.rocksdb.TickerType leverage full byte range [-128 (-0x80), (0x7F)]. Newer tickers added
16 * should descend into negative values until TICKER_ENUM_MAX reaches -128 (-0x80).
17 */
7c673cae 18public enum TickerType {
11fdf7f2
TL
19
20 /**
21 * total block cache misses
22 *
23 * REQUIRES: BLOCK_CACHE_MISS == BLOCK_CACHE_INDEX_MISS +
24 * BLOCK_CACHE_FILTER_MISS +
25 * BLOCK_CACHE_DATA_MISS;
26 */
27 BLOCK_CACHE_MISS((byte) 0x0),
28
29 /**
30 * total block cache hit
31 *
32 * REQUIRES: BLOCK_CACHE_HIT == BLOCK_CACHE_INDEX_HIT +
33 * BLOCK_CACHE_FILTER_HIT +
34 * BLOCK_CACHE_DATA_HIT;
35 */
36 BLOCK_CACHE_HIT((byte) 0x1),
37
38 BLOCK_CACHE_ADD((byte) 0x2),
39
40 /**
41 * # of failures when adding blocks to block cache.
42 */
43 BLOCK_CACHE_ADD_FAILURES((byte) 0x3),
44
45 /**
46 * # of times cache miss when accessing index block from block cache.
47 */
48 BLOCK_CACHE_INDEX_MISS((byte) 0x4),
49
50 /**
51 * # of times cache hit when accessing index block from block cache.
52 */
53 BLOCK_CACHE_INDEX_HIT((byte) 0x5),
54
55 /**
56 * # of index blocks added to block cache.
57 */
58 BLOCK_CACHE_INDEX_ADD((byte) 0x6),
59
60 /**
61 * # of bytes of index blocks inserted into cache
62 */
63 BLOCK_CACHE_INDEX_BYTES_INSERT((byte) 0x7),
64
65 /**
66 * # of bytes of index block erased from cache
67 */
68 BLOCK_CACHE_INDEX_BYTES_EVICT((byte) 0x8),
69
70 /**
71 * # of times cache miss when accessing filter block from block cache.
72 */
73 BLOCK_CACHE_FILTER_MISS((byte) 0x9),
74
75 /**
76 * # of times cache hit when accessing filter block from block cache.
77 */
78 BLOCK_CACHE_FILTER_HIT((byte) 0xA),
79
80 /**
81 * # of filter blocks added to block cache.
82 */
83 BLOCK_CACHE_FILTER_ADD((byte) 0xB),
84
85 /**
86 * # of bytes of bloom filter blocks inserted into cache
87 */
88 BLOCK_CACHE_FILTER_BYTES_INSERT((byte) 0xC),
89
90 /**
91 * # of bytes of bloom filter block erased from cache
92 */
93 BLOCK_CACHE_FILTER_BYTES_EVICT((byte) 0xD),
94
95 /**
96 * # of times cache miss when accessing data block from block cache.
97 */
98 BLOCK_CACHE_DATA_MISS((byte) 0xE),
99
100 /**
101 * # of times cache hit when accessing data block from block cache.
102 */
103 BLOCK_CACHE_DATA_HIT((byte) 0xF),
104
105 /**
106 * # of data blocks added to block cache.
107 */
108 BLOCK_CACHE_DATA_ADD((byte) 0x10),
109
110 /**
111 * # of bytes of data blocks inserted into cache
112 */
113 BLOCK_CACHE_DATA_BYTES_INSERT((byte) 0x11),
114
115 /**
116 * # of bytes read from cache.
117 */
118 BLOCK_CACHE_BYTES_READ((byte) 0x12),
119
120 /**
121 * # of bytes written into cache.
122 */
123 BLOCK_CACHE_BYTES_WRITE((byte) 0x13),
124
125 /**
126 * # of times bloom filter has avoided file reads.
127 */
128 BLOOM_FILTER_USEFUL((byte) 0x14),
129
130 /**
131 * # persistent cache hit
132 */
133 PERSISTENT_CACHE_HIT((byte) 0x15),
134
135 /**
136 * # persistent cache miss
137 */
138 PERSISTENT_CACHE_MISS((byte) 0x16),
139
140 /**
141 * # total simulation block cache hits
142 */
143 SIM_BLOCK_CACHE_HIT((byte) 0x17),
144
145 /**
146 * # total simulation block cache misses
147 */
148 SIM_BLOCK_CACHE_MISS((byte) 0x18),
149
150 /**
151 * # of memtable hits.
152 */
153 MEMTABLE_HIT((byte) 0x19),
154
155 /**
156 * # of memtable misses.
157 */
158 MEMTABLE_MISS((byte) 0x1A),
159
160 /**
161 * # of Get() queries served by L0
162 */
163 GET_HIT_L0((byte) 0x1B),
164
165 /**
166 * # of Get() queries served by L1
167 */
168 GET_HIT_L1((byte) 0x1C),
169
170 /**
171 * # of Get() queries served by L2 and up
172 */
173 GET_HIT_L2_AND_UP((byte) 0x1D),
174
175 /**
176 * COMPACTION_KEY_DROP_* count the reasons for key drop during compaction
177 * There are 4 reasons currently.
178 */
179
180 /**
181 * key was written with a newer value.
182 */
183 COMPACTION_KEY_DROP_NEWER_ENTRY((byte) 0x1E),
184
185 /**
186 * Also includes keys dropped for range del.
187 * The key is obsolete.
188 */
189 COMPACTION_KEY_DROP_OBSOLETE((byte) 0x1F),
190
191 /**
192 * key was covered by a range tombstone.
193 */
194 COMPACTION_KEY_DROP_RANGE_DEL((byte) 0x20),
195
196 /**
197 * User compaction function has dropped the key.
198 */
199 COMPACTION_KEY_DROP_USER((byte) 0x21),
200
201 /**
202 * all keys in range were deleted.
203 */
204 COMPACTION_RANGE_DEL_DROP_OBSOLETE((byte) 0x22),
205
206 /**
207 * Number of keys written to the database via the Put and Write call's.
208 */
209 NUMBER_KEYS_WRITTEN((byte) 0x23),
210
211 /**
212 * Number of Keys read.
213 */
214 NUMBER_KEYS_READ((byte) 0x24),
215
216 /**
217 * Number keys updated, if inplace update is enabled
218 */
219 NUMBER_KEYS_UPDATED((byte) 0x25),
220
221 /**
222 * The number of uncompressed bytes issued by DB::Put(), DB::Delete(),\
223 * DB::Merge(), and DB::Write().
224 */
225 BYTES_WRITTEN((byte) 0x26),
226
227 /**
228 * The number of uncompressed bytes read from DB::Get(). It could be
229 * either from memtables, cache, or table files.
230 *
231 * For the number of logical bytes read from DB::MultiGet(),
232 * please use {@link #NUMBER_MULTIGET_BYTES_READ}.
233 */
234 BYTES_READ((byte) 0x27),
235
236 /**
237 * The number of calls to seek.
238 */
239 NUMBER_DB_SEEK((byte) 0x28),
240
241 /**
242 * The number of calls to next.
243 */
244 NUMBER_DB_NEXT((byte) 0x29),
245
246 /**
247 * The number of calls to prev.
248 */
249 NUMBER_DB_PREV((byte) 0x2A),
250
251 /**
252 * The number of calls to seek that returned data.
253 */
254 NUMBER_DB_SEEK_FOUND((byte) 0x2B),
255
256 /**
257 * The number of calls to next that returned data.
258 */
259 NUMBER_DB_NEXT_FOUND((byte) 0x2C),
260
261 /**
262 * The number of calls to prev that returned data.
263 */
264 NUMBER_DB_PREV_FOUND((byte) 0x2D),
265
266 /**
267 * The number of uncompressed bytes read from an iterator.
268 * Includes size of key and value.
269 */
270 ITER_BYTES_READ((byte) 0x2E),
271
272 NO_FILE_CLOSES((byte) 0x2F),
273
274 NO_FILE_OPENS((byte) 0x30),
275
276 NO_FILE_ERRORS((byte) 0x31),
277
278 /**
279 * Time system had to wait to do LO-L1 compactions.
280 *
281 * @deprecated
282 */
283 @Deprecated
284 STALL_L0_SLOWDOWN_MICROS((byte) 0x32),
285
286 /**
287 * Time system had to wait to move memtable to L1.
288 *
289 * @deprecated
290 */
291 @Deprecated
292 STALL_MEMTABLE_COMPACTION_MICROS((byte) 0x33),
293
294 /**
295 * write throttle because of too many files in L0.
296 *
297 * @deprecated
298 */
299 @Deprecated
300 STALL_L0_NUM_FILES_MICROS((byte) 0x34),
301
302 /**
303 * Writer has to wait for compaction or flush to finish.
304 */
305 STALL_MICROS((byte) 0x35),
306
307 /**
308 * The wait time for db mutex.
309 *
310 * Disabled by default. To enable it set stats level to {@link StatsLevel#ALL}
311 */
312 DB_MUTEX_WAIT_MICROS((byte) 0x36),
313
314 RATE_LIMIT_DELAY_MILLIS((byte) 0x37),
315
316 /**
494da23a
TL
317 * Number of iterators created.
318 *
11fdf7f2
TL
319 */
320 NO_ITERATORS((byte) 0x38),
321
322 /**
323 * Number of MultiGet calls.
324 */
325 NUMBER_MULTIGET_CALLS((byte) 0x39),
326
327 /**
328 * Number of MultiGet keys read.
329 */
330 NUMBER_MULTIGET_KEYS_READ((byte) 0x3A),
331
332 /**
333 * Number of MultiGet bytes read.
334 */
335 NUMBER_MULTIGET_BYTES_READ((byte) 0x3B),
336
337 /**
338 * Number of deletes records that were not required to be
339 * written to storage because key does not exist.
340 */
341 NUMBER_FILTERED_DELETES((byte) 0x3C),
342 NUMBER_MERGE_FAILURES((byte) 0x3D),
343
344 /**
345 * Number of times bloom was checked before creating iterator on a
346 * file, and the number of times the check was useful in avoiding
347 * iterator creation (and thus likely IOPs).
348 */
349 BLOOM_FILTER_PREFIX_CHECKED((byte) 0x3E),
350 BLOOM_FILTER_PREFIX_USEFUL((byte) 0x3F),
351
352 /**
353 * Number of times we had to reseek inside an iteration to skip
354 * over large number of keys with same userkey.
355 */
356 NUMBER_OF_RESEEKS_IN_ITERATION((byte) 0x40),
357
358 /**
359 * Record the number of calls to {@link RocksDB#getUpdatesSince(long)}. Useful to keep track of
360 * transaction log iterator refreshes.
361 */
362 GET_UPDATES_SINCE_CALLS((byte) 0x41),
363
364 /**
365 * Miss in the compressed block cache.
366 */
367 BLOCK_CACHE_COMPRESSED_MISS((byte) 0x42),
368
369 /**
370 * Hit in the compressed block cache.
371 */
372 BLOCK_CACHE_COMPRESSED_HIT((byte) 0x43),
373
374 /**
375 * Number of blocks added to compressed block cache.
376 */
377 BLOCK_CACHE_COMPRESSED_ADD((byte) 0x44),
378
379 /**
380 * Number of failures when adding blocks to compressed block cache.
381 */
382 BLOCK_CACHE_COMPRESSED_ADD_FAILURES((byte) 0x45),
383
384 /**
385 * Number of times WAL sync is done.
386 */
387 WAL_FILE_SYNCED((byte) 0x46),
388
389 /**
390 * Number of bytes written to WAL.
391 */
392 WAL_FILE_BYTES((byte) 0x47),
393
394 /**
395 * Writes can be processed by requesting thread or by the thread at the
396 * head of the writers queue.
397 */
398 WRITE_DONE_BY_SELF((byte) 0x48),
399
400 /**
401 * Equivalent to writes done for others.
402 */
403 WRITE_DONE_BY_OTHER((byte) 0x49),
404
405 /**
406 * Number of writes ending up with timed-out.
407 */
408 WRITE_TIMEDOUT((byte) 0x4A),
409
410 /**
411 * Number of Write calls that request WAL.
412 */
413 WRITE_WITH_WAL((byte) 0x4B),
414
415 /**
416 * Bytes read during compaction.
417 */
418 COMPACT_READ_BYTES((byte) 0x4C),
419
420 /**
421 * Bytes written during compaction.
422 */
423 COMPACT_WRITE_BYTES((byte) 0x4D),
424
425 /**
426 * Bytes written during flush.
427 */
428 FLUSH_WRITE_BYTES((byte) 0x4E),
429
430 /**
431 * Number of table's properties loaded directly from file, without creating
432 * table reader object.
433 */
434 NUMBER_DIRECT_LOAD_TABLE_PROPERTIES((byte) 0x4F),
435 NUMBER_SUPERVERSION_ACQUIRES((byte) 0x50),
436 NUMBER_SUPERVERSION_RELEASES((byte) 0x51),
437 NUMBER_SUPERVERSION_CLEANUPS((byte) 0x52),
438
439 /**
440 * # of compressions/decompressions executed
441 */
442 NUMBER_BLOCK_COMPRESSED((byte) 0x53),
443 NUMBER_BLOCK_DECOMPRESSED((byte) 0x54),
444
445 NUMBER_BLOCK_NOT_COMPRESSED((byte) 0x55),
446 MERGE_OPERATION_TOTAL_TIME((byte) 0x56),
447 FILTER_OPERATION_TOTAL_TIME((byte) 0x57),
448
449 /**
450 * Row cache.
451 */
452 ROW_CACHE_HIT((byte) 0x58),
453 ROW_CACHE_MISS((byte) 0x59),
454
455 /**
456 * Read amplification statistics.
457 *
458 * Read amplification can be calculated using this formula
459 * (READ_AMP_TOTAL_READ_BYTES / READ_AMP_ESTIMATE_USEFUL_BYTES)
460 *
461 * REQUIRES: ReadOptions::read_amp_bytes_per_bit to be enabled
462 */
463
464 /**
465 * Estimate of total bytes actually used.
466 */
467 READ_AMP_ESTIMATE_USEFUL_BYTES((byte) 0x5A),
468
469 /**
470 * Total size of loaded data blocks.
471 */
472 READ_AMP_TOTAL_READ_BYTES((byte) 0x5B),
473
474 /**
475 * Number of refill intervals where rate limiter's bytes are fully consumed.
476 */
477 NUMBER_RATE_LIMITER_DRAINS((byte) 0x5C),
478
479 /**
480 * Number of internal skipped during iteration
481 */
482 NUMBER_ITER_SKIP((byte) 0x5D),
483
484 /**
485 * Number of MultiGet keys found (vs number requested)
486 */
487 NUMBER_MULTIGET_KEYS_FOUND((byte) 0x5E),
488
494da23a
TL
489 // -0x01 to fixate the new value that incorrectly changed TICKER_ENUM_MAX
490 /**
491 * Number of iterators created.
492 */
493 NO_ITERATOR_CREATED((byte) -0x01),
494
495 /**
496 * Number of iterators deleted.
497 */
498 NO_ITERATOR_DELETED((byte) 0x60),
499
500 /**
501 * Deletions obsoleted before bottom level due to file gap optimization.
502 */
503 COMPACTION_OPTIMIZED_DEL_DROP_OBSOLETE((byte) 0x61),
504
505 /**
506 * If a compaction was cancelled in sfm to prevent ENOSPC
507 */
508 COMPACTION_CANCELLED((byte) 0x62),
509
510 /**
511 * # of times bloom FullFilter has not avoided the reads.
512 */
513 BLOOM_FILTER_FULL_POSITIVE((byte) 0x63),
514
515 /**
516 * # of times bloom FullFilter has not avoided the reads and data actually
517 * exist.
518 */
519 BLOOM_FILTER_FULL_TRUE_POSITIVE((byte) 0x64),
520
521 /**
522 * BlobDB specific stats
523 * # of Put/PutTTL/PutUntil to BlobDB.
524 */
525 BLOB_DB_NUM_PUT((byte) 0x65),
526
527 /**
528 * # of Write to BlobDB.
529 */
530 BLOB_DB_NUM_WRITE((byte) 0x66),
531
532 /**
533 * # of Get to BlobDB.
534 */
535 BLOB_DB_NUM_GET((byte) 0x67),
536
537 /**
538 * # of MultiGet to BlobDB.
539 */
540 BLOB_DB_NUM_MULTIGET((byte) 0x68),
541
542 /**
543 * # of Seek/SeekToFirst/SeekToLast/SeekForPrev to BlobDB iterator.
544 */
545 BLOB_DB_NUM_SEEK((byte) 0x69),
546
547 /**
548 * # of Next to BlobDB iterator.
549 */
550 BLOB_DB_NUM_NEXT((byte) 0x6A),
551
552 /**
553 * # of Prev to BlobDB iterator.
554 */
555 BLOB_DB_NUM_PREV((byte) 0x6B),
556
557 /**
558 * # of keys written to BlobDB.
559 */
560 BLOB_DB_NUM_KEYS_WRITTEN((byte) 0x6C),
561
562 /**
563 * # of keys read from BlobDB.
564 */
565 BLOB_DB_NUM_KEYS_READ((byte) 0x6D),
566
567 /**
568 * # of bytes (key + value) written to BlobDB.
569 */
570 BLOB_DB_BYTES_WRITTEN((byte) 0x6E),
571
572 /**
573 * # of bytes (keys + value) read from BlobDB.
574 */
575 BLOB_DB_BYTES_READ((byte) 0x6F),
576
577 /**
578 * # of keys written by BlobDB as non-TTL inlined value.
579 */
580 BLOB_DB_WRITE_INLINED((byte) 0x70),
581
582 /**
583 * # of keys written by BlobDB as TTL inlined value.
584 */
585 BLOB_DB_WRITE_INLINED_TTL((byte) 0x71),
586
587 /**
588 * # of keys written by BlobDB as non-TTL blob value.
589 */
590 BLOB_DB_WRITE_BLOB((byte) 0x72),
591
592 /**
593 * # of keys written by BlobDB as TTL blob value.
594 */
595 BLOB_DB_WRITE_BLOB_TTL((byte) 0x73),
596
597 /**
598 * # of bytes written to blob file.
599 */
600 BLOB_DB_BLOB_FILE_BYTES_WRITTEN((byte) 0x74),
601
602 /**
603 * # of bytes read from blob file.
604 */
605 BLOB_DB_BLOB_FILE_BYTES_READ((byte) 0x75),
606
607 /**
608 * # of times a blob files being synced.
609 */
610 BLOB_DB_BLOB_FILE_SYNCED((byte) 0x76),
611
612 /**
613 * # of blob index evicted from base DB by BlobDB compaction filter because
614 * of expiration.
615 */
616 BLOB_DB_BLOB_INDEX_EXPIRED_COUNT((byte) 0x77),
617
618 /**
619 * Size of blob index evicted from base DB by BlobDB compaction filter
620 * because of expiration.
621 */
622 BLOB_DB_BLOB_INDEX_EXPIRED_SIZE((byte) 0x78),
11fdf7f2 623
494da23a
TL
624 /**
625 * # of blob index evicted from base DB by BlobDB compaction filter because
626 * of corresponding file deleted.
627 */
628 BLOB_DB_BLOB_INDEX_EVICTED_COUNT((byte) 0x79),
629
630 /**
631 * Size of blob index evicted from base DB by BlobDB compaction filter
632 * because of corresponding file deleted.
633 */
634 BLOB_DB_BLOB_INDEX_EVICTED_SIZE((byte) 0x7A),
635
636 /**
637 * # of blob files being garbage collected.
638 */
639 BLOB_DB_GC_NUM_FILES((byte) 0x7B),
640
641 /**
642 * # of blob files generated by garbage collection.
643 */
644 BLOB_DB_GC_NUM_NEW_FILES((byte) 0x7C),
645
646 /**
647 * # of BlobDB garbage collection failures.
648 */
649 BLOB_DB_GC_FAILURES((byte) 0x7D),
650
651 /**
652 * # of keys drop by BlobDB garbage collection because they had been
653 * overwritten.
654 */
655 BLOB_DB_GC_NUM_KEYS_OVERWRITTEN((byte) 0x7E),
656
657 /**
658 * # of keys drop by BlobDB garbage collection because of expiration.
659 */
660 BLOB_DB_GC_NUM_KEYS_EXPIRED((byte) 0x7F),
661
662 /**
663 * # of keys relocated to new blob file by garbage collection.
664 */
665 BLOB_DB_GC_NUM_KEYS_RELOCATED((byte) -0x02),
666
667 /**
668 * # of bytes drop by BlobDB garbage collection because they had been
669 * overwritten.
670 */
671 BLOB_DB_GC_BYTES_OVERWRITTEN((byte) -0x03),
672
673 /**
674 * # of bytes drop by BlobDB garbage collection because of expiration.
675 */
676 BLOB_DB_GC_BYTES_EXPIRED((byte) -0x04),
677
678 /**
679 * # of bytes relocated to new blob file by garbage collection.
680 */
681 BLOB_DB_GC_BYTES_RELOCATED((byte) -0x05),
682
683 /**
684 * # of blob files evicted because of BlobDB is full.
685 */
686 BLOB_DB_FIFO_NUM_FILES_EVICTED((byte) -0x06),
687
688 /**
689 * # of keys in the blob files evicted because of BlobDB is full.
690 */
691 BLOB_DB_FIFO_NUM_KEYS_EVICTED((byte) -0x07),
692
693 /**
694 * # of bytes in the blob files evicted because of BlobDB is full.
695 */
696 BLOB_DB_FIFO_BYTES_EVICTED((byte) -0x08),
697
698 /**
699 * These counters indicate a performance issue in WritePrepared transactions.
700 * We should not seem them ticking them much.
701 * # of times prepare_mutex_ is acquired in the fast path.
702 */
703 TXN_PREPARE_MUTEX_OVERHEAD((byte) -0x09),
704
705 /**
706 * # of times old_commit_map_mutex_ is acquired in the fast path.
707 */
708 TXN_OLD_COMMIT_MAP_MUTEX_OVERHEAD((byte) -0x0A),
709
710 /**
711 * # of times we checked a batch for duplicate keys.
712 */
713 TXN_DUPLICATE_KEY_OVERHEAD((byte) -0x0B),
714
715 /**
716 * # of times snapshot_mutex_ is acquired in the fast path.
717 */
718 TXN_SNAPSHOT_MUTEX_OVERHEAD((byte) -0x0C),
719
720 TICKER_ENUM_MAX((byte) 0x5F);
11fdf7f2
TL
721
722 private final byte value;
723
724 TickerType(final byte value) {
725 this.value = value;
726 }
727
494da23a
TL
728 /**
729 * @deprecated Exposes internal value of native enum mappings.
730 * This method will be marked package private in the next major release.
731 *
732 * @return the internal representation
733 */
734 @Deprecated
11fdf7f2
TL
735 public byte getValue() {
736 return value;
737 }
7c673cae 738}