Package org.rocksdb
Class PerfContext
java.lang.Object
org.rocksdb.AbstractNativeReference
org.rocksdb.AbstractImmutableNativeReference
org.rocksdb.RocksObject
org.rocksdb.PerfContext
- All Implemented Interfaces:
AutoCloseable
-
Field Summary
Fields inherited from class org.rocksdb.RocksObject
nativeHandle_Fields inherited from class org.rocksdb.AbstractImmutableNativeReference
owningHandle_ -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddisposeInternal(long handle) longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongTotal number of deletes and single deletes skipped over during iteration When calling Next(), Seek() or SeekToFirst(), after previous position before calling Next(), the seek key in Seek() or the beginning for SeekToFirst(), there may be one or more deleted keys before the next valid key.longtotal number of internal keys skipped over during iteration.longHow many merge operands were fed into the merge operator by iterators.longHow many merge operands were fed into the merge operator by point lookups.longNumber of times we reseeked inside a merging iterator, specifically to skip after or before a range of keys covered by a range deletion in a newer LSM component.longHow many times iterators skipped over internal keys that are more recent than the snapshot that iterator is using.longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongnumber of seeks issued on memtable (including SeekForPrev but not SeekToFirst and SeekToLast)longlonglonglonglonglonglonglonglongvoidreset()toString()toString(boolean excludeZeroCounters) Methods inherited from class org.rocksdb.RocksObject
disposeInternal, getNativeHandleMethods inherited from class org.rocksdb.AbstractImmutableNativeReference
close, disOwnNativeHandle, isOwningHandle
-
Constructor Details
-
PerfContext
protected PerfContext(long nativeHandle)
-
-
Method Details
-
reset
public void reset() -
getUserKeyComparisonCount
public long getUserKeyComparisonCount()- Returns:
- total number of user key comparisons
-
getBlockCacheHitCount
public long getBlockCacheHitCount()- Returns:
- total number of block cache hits
-
getBlockReadCount
public long getBlockReadCount()- Returns:
- total number of block reads (with IO)
-
getBlockReadByte
public long getBlockReadByte()- Returns:
- total number of bytes from block reads
-
getBlockReadTime
public long getBlockReadTime() -
getBlockReadCpuTime
public long getBlockReadCpuTime()- Returns:
- total cpu time in nanos spent on block reads
-
getBlockCacheIndexHitCount
public long getBlockCacheIndexHitCount()- Returns:
- total number of index block hits
-
getBlockCacheStandaloneHandleCount
public long getBlockCacheStandaloneHandleCount()- Returns:
- total number of standalone handles lookup from secondary cache
-
getBlockCacheRealHandleCount
public long getBlockCacheRealHandleCount()- Returns:
- total number of real handles lookup from secondary cache that are inserted into primary cache
-
getIndexBlockReadCount
public long getIndexBlockReadCount()- Returns:
- total number of index block reads
-
getBlockCacheFilterHitCount
public long getBlockCacheFilterHitCount()- Returns:
- total number of filter block hits
-
getFilterBlockReadCount
public long getFilterBlockReadCount()- Returns:
- total number of filter block reads
-
getCompressionDictBlockReadCount
public long getCompressionDictBlockReadCount()- Returns:
- total number of compression dictionary block reads
-
getSecondaryCacheHitCount
public long getSecondaryCacheHitCount()- Returns:
- total number of secondary cache hits
-
getCompressedSecCacheInsertRealCount
public long getCompressedSecCacheInsertRealCount()- Returns:
- total number of real handles inserted into secondary cache
-
getCompressedSecCacheInsertDummyCount
public long getCompressedSecCacheInsertDummyCount()- Returns:
- total number of dummy handles inserted into secondary cache
-
getCompressedSecCacheUncompressedBytes
public long getCompressedSecCacheUncompressedBytes()- Returns:
- bytes for vals before compression in secondary cache
-
getCompressedSecCacheCompressedBytes
public long getCompressedSecCacheCompressedBytes()- Returns:
- bytes for vals after compression in secondary cache
-
getBlockChecksumTime
public long getBlockChecksumTime()- Returns:
- total nanos spent on block checksum
-
getBlockDecompressTime
public long getBlockDecompressTime()- Returns:
- total nanos spent on block decompression
-
getReadBytes
public long getReadBytes()- Returns:
- bytes for vals returned by Get
-
getMultigetReadBytes
public long getMultigetReadBytes()- Returns:
- bytes for vals returned by MultiGet
-
getIterReadBytes
public long getIterReadBytes()- Returns:
- bytes for keys/vals decoded by iterator
-
getBlobCacheHitCount
public long getBlobCacheHitCount()- Returns:
- total number of blob cache hits
-
getBlobReadCount
public long getBlobReadCount()- Returns:
- total number of blob reads (with IO)
-
getBlobReadByte
public long getBlobReadByte()- Returns:
- total number of bytes from blob reads
-
getBlobReadTime
public long getBlobReadTime()- Returns:
- total nanos spent on blob reads
-
getBlobChecksumTime
public long getBlobChecksumTime()- Returns:
- total nanos spent on blob checksum
-
getBlobDecompressTime
public long getBlobDecompressTime()- Returns:
- total nanos spent on blob decompression
-
getInternalKeySkippedCount
public long getInternalKeySkippedCount()total number of internal keys skipped over during iteration. There are several reasons for it: 1. when calling Next(), the iterator is in the position of the previous key, so that we'll need to skip it. It means this counter will always be incremented in Next(). 2. when calling Next(), we need to skip internal entries for the previous keys that are overwritten. 3. when calling Next(), Seek() or SeekToFirst(), after previous key before calling Next(), the seek key in Seek() or the beginning for SeekToFirst(), there may be one or more deleted keys before the next valid key that the operation should place the iterator to. We need to skip both of the tombstone and updates hidden by the tombstones. The tombstones are not included in this counter, while previous updates hidden by the tombstones will be included here. 4. symmetric cases for Prev() and SeekToLast() internal_recent_skipped_count is not included in this counter. -
getInternalDeleteSkippedCount
public long getInternalDeleteSkippedCount()Total number of deletes and single deletes skipped over during iteration When calling Next(), Seek() or SeekToFirst(), after previous position before calling Next(), the seek key in Seek() or the beginning for SeekToFirst(), there may be one or more deleted keys before the next valid key. Every deleted key is counted once. We don't recount here if there are still older updates invalidated by the tombstones. -
getInternalRecentSkippedCount
public long getInternalRecentSkippedCount()How many times iterators skipped over internal keys that are more recent than the snapshot that iterator is using. -
getInternalMergeCount
public long getInternalMergeCount()How many merge operands were fed into the merge operator by iterators. Note: base values are not included in the count. -
getInternalMergePointLookupCount
public long getInternalMergePointLookupCount()How many merge operands were fed into the merge operator by point lookups. Note: base values are not included in the count. -
getInternalRangeDelReseekCount
public long getInternalRangeDelReseekCount()Number of times we reseeked inside a merging iterator, specifically to skip after or before a range of keys covered by a range deletion in a newer LSM component. -
getSnapshotTime
public long getSnapshotTime()- Returns:
- total nanos spent on getting snapshot
-
getFromMemtableTime
public long getFromMemtableTime()- Returns:
- total nanos spent on querying memtables
-
getFromMemtableCount
public long getFromMemtableCount()- Returns:
- number of mem tables queried
-
getPostProcessTime
public long getPostProcessTime()- Returns:
- total nanos spent after Get() finds a key
-
getFromOutputFilesTime
public long getFromOutputFilesTime()- Returns:
- total nanos reading from output files
-
getSeekOnMemtableTime
public long getSeekOnMemtableTime()- Returns:
- total nanos spent on seeking memtable
-
getSeekOnMemtableCount
public long getSeekOnMemtableCount()number of seeks issued on memtable (including SeekForPrev but not SeekToFirst and SeekToLast)- Returns:
- number of seeks issued on memtable
-
getNextOnMemtableCount
public long getNextOnMemtableCount()- Returns:
- number of Next()s issued on memtable
-
getPrevOnMemtableCount
public long getPrevOnMemtableCount()- Returns:
- number of Prev()s issued on memtable
-
getSeekChildSeekTime
public long getSeekChildSeekTime()- Returns:
- total nanos spent on seeking child iters
-
getSeekChildSeekCount
public long getSeekChildSeekCount()- Returns:
- number of seek issued in child iterators
-
getSeekMinHeapTime
public long getSeekMinHeapTime()- Returns:
- total nanos spent on the merge min heap
-
getSeekMaxHeapTime
public long getSeekMaxHeapTime()- Returns:
- total nanos spent on the merge max heap
-
getSeekInternalSeekTime
public long getSeekInternalSeekTime()- Returns:
- total nanos spent on seeking the internal entries
-
getFindNextUserEntryTime
public long getFindNextUserEntryTime()- Returns:
- total nanos spent on iterating internal entries to find the next user entry
-
getWriteWalTime
public long getWriteWalTime()- Returns:
- total nanos spent on writing to WAL
-
getWriteMemtableTime
public long getWriteMemtableTime()- Returns:
- total nanos spent on writing to mem tables
-
getWriteDelayTime
public long getWriteDelayTime()- Returns:
- total nanos spent on delaying or throttling write
-
getWriteSchedulingFlushesCompactionsTime
public long getWriteSchedulingFlushesCompactionsTime()- Returns:
- total nanos spent on switching memtable/wal and scheduling flushes/compactions.
-
getWritePreAndPostProcessTime
public long getWritePreAndPostProcessTime()- Returns:
- total nanos spent on writing a record, excluding the above four things
-
getWriteThreadWaitNanos
public long getWriteThreadWaitNanos()- Returns:
- time spent waiting for other threads of the batch group
-
getDbMutexLockNanos
public long getDbMutexLockNanos()- Returns:
- time spent on acquiring DB mutex.
-
getDbConditionWaitNanos
public long getDbConditionWaitNanos()- Returns:
- Time spent on waiting with a condition variable created with DB mutex.
-
getMergeOperatorTimeNanos
public long getMergeOperatorTimeNanos()- Returns:
- Time spent on merge operator.
-
getReadIndexBlockNanos
public long getReadIndexBlockNanos()- Returns:
- Time spent on reading index block from block cache or SST file
-
getReadFilterBlockNanos
public long getReadFilterBlockNanos()- Returns:
- Time spent on reading filter block from block cache or SST file
-
getNewTableBlockIterNanos
public long getNewTableBlockIterNanos()- Returns:
- Time spent on creating data block iterator
-
getNewTableIteratorNanos
public long getNewTableIteratorNanos()- Returns:
- Time spent on creating a iterator of an SST file.
-
getBlockSeekNanos
public long getBlockSeekNanos()- Returns:
- Time spent on seeking a key in data/index blocks
-
getFindTableNanos
public long getFindTableNanos()- Returns:
- Time spent on finding or creating a table reader
-
getBloomMemtableHitCount
public long getBloomMemtableHitCount()- Returns:
- total number of mem table bloom hits
-
getBloomMemtableMissCount
public long getBloomMemtableMissCount() -
getBloomSstHitCount
public long getBloomSstHitCount()- Returns:
- total number of SST bloom hits
-
getBloomSstMissCount
public long getBloomSstMissCount()- Returns:
- total number of SST bloom misses
-
getKeyLockWaitTime
public long getKeyLockWaitTime()- Returns:
- Time spent waiting on key locks in transaction lock manager.
-
getKeyLockWaitCount
public long getKeyLockWaitCount()- Returns:
- number of times acquiring a lock was blocked by another transaction.
-
getEnvNewSequentialFileNanos
public long getEnvNewSequentialFileNanos()- Returns:
- Total time spent in Env filesystem operations. These are only populated when TimedEnv is used.
-
getEnvNewRandomAccessFileNanos
public long getEnvNewRandomAccessFileNanos() -
getEnvNewWritableFileNanos
public long getEnvNewWritableFileNanos() -
getEnvReuseWritableFileNanos
public long getEnvReuseWritableFileNanos() -
getEnvNewRandomRwFileNanos
public long getEnvNewRandomRwFileNanos() -
getEnvNewDirectoryNanos
public long getEnvNewDirectoryNanos() -
getEnvFileExistsNanos
public long getEnvFileExistsNanos() -
getEnvGetChildrenNanos
public long getEnvGetChildrenNanos() -
getEnvGetChildrenFileAttributesNanos
public long getEnvGetChildrenFileAttributesNanos() -
getEnvDeleteFileNanos
public long getEnvDeleteFileNanos() -
getEnvCreateDirNanos
public long getEnvCreateDirNanos() -
getEnvCreateDirIfMissingNanos
public long getEnvCreateDirIfMissingNanos() -
getEnvDeleteDirNanos
public long getEnvDeleteDirNanos() -
getEnvGetFileSizeNanos
public long getEnvGetFileSizeNanos() -
getEnvGetFileModificationTimeNanos
public long getEnvGetFileModificationTimeNanos() -
getEnvRenameFileNanos
public long getEnvRenameFileNanos() -
getEnvLinkFileNanos
public long getEnvLinkFileNanos() -
getEnvLockFileNanos
public long getEnvLockFileNanos() -
getEnvUnlockFileNanos
public long getEnvUnlockFileNanos() -
getEnvNewLoggerNanos
public long getEnvNewLoggerNanos() -
getGetCpuNanos
public long getGetCpuNanos() -
getIterNextCpuNanos
public long getIterNextCpuNanos() -
getIterPrevCpuNanos
public long getIterPrevCpuNanos() -
getIterSeekCpuNanos
public long getIterSeekCpuNanos() -
getEncryptDataNanos
public long getEncryptDataNanos()- Returns:
- Time spent in encrypting data. Populated when EncryptedEnv is used.
-
getDecryptDataNanos
public long getDecryptDataNanos()- Returns:
- Time spent in decrypting data. Populated when EncryptedEnv is used.
-
getNumberAsyncSeek
public long getNumberAsyncSeek() -
toString
-
toString
-
disposeInternal
protected void disposeInternal(long handle) - Specified by:
disposeInternalin classRocksObject
-