Class RocksDBNativeMetricOptions

  • All Implemented Interfaces:
    Serializable

    @PublicEvolving
    public class RocksDBNativeMetricOptions
    extends Object
    implements Serializable
    Enable which RocksDB metrics to forward to Flink's metrics reporter.

    Property based metrics would report at the column family level and return unsigned long values.

    Statistics based metrics would report at the database level, it can return ticker or histogram kind results.

    Properties and doc comments are taken from RocksDB documentation. See db.h for more information.

    See Also:
    Serialized Form
    • Field Detail

      • METRICS_COLUMN_FAMILY_AS_VARIABLE_KEY

        public static final String METRICS_COLUMN_FAMILY_AS_VARIABLE_KEY
        See Also:
        Constant Field Values
      • MONITOR_NUM_IMMUTABLE_MEM_TABLES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_IMMUTABLE_MEM_TABLES
      • MONITOR_MEM_TABLE_FLUSH_PENDING

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_MEM_TABLE_FLUSH_PENDING
      • TRACK_COMPACTION_PENDING

        public static final org.apache.flink.configuration.ConfigOption<Boolean> TRACK_COMPACTION_PENDING
      • MONITOR_BACKGROUND_ERRORS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BACKGROUND_ERRORS
      • MONITOR_CUR_SIZE_ACTIVE_MEM_TABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_CUR_SIZE_ACTIVE_MEM_TABLE
      • MONITOR_CUR_SIZE_ALL_MEM_TABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_CUR_SIZE_ALL_MEM_TABLE
      • MONITOR_SIZE_ALL_MEM_TABLES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_SIZE_ALL_MEM_TABLES
      • MONITOR_NUM_ENTRIES_ACTIVE_MEM_TABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_ENTRIES_ACTIVE_MEM_TABLE
      • MONITOR_NUM_ENTRIES_IMM_MEM_TABLES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_ENTRIES_IMM_MEM_TABLES
      • MONITOR_NUM_DELETES_ACTIVE_MEM_TABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_DELETES_ACTIVE_MEM_TABLE
      • MONITOR_NUM_DELETES_IMM_MEM_TABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_DELETES_IMM_MEM_TABLE
      • ESTIMATE_NUM_KEYS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> ESTIMATE_NUM_KEYS
      • ESTIMATE_TABLE_READERS_MEM

        public static final org.apache.flink.configuration.ConfigOption<Boolean> ESTIMATE_TABLE_READERS_MEM
      • MONITOR_NUM_SNAPSHOTS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_SNAPSHOTS
      • MONITOR_NUM_LIVE_VERSIONS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_LIVE_VERSIONS
      • ESTIMATE_LIVE_DATA_SIZE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> ESTIMATE_LIVE_DATA_SIZE
      • MONITOR_TOTAL_SST_FILES_SIZE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_TOTAL_SST_FILES_SIZE
      • MONITOR_LIVE_SST_FILES_SIZE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_LIVE_SST_FILES_SIZE
      • ESTIMATE_PENDING_COMPACTION_BYTES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> ESTIMATE_PENDING_COMPACTION_BYTES
      • MONITOR_NUM_RUNNING_COMPACTIONS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_RUNNING_COMPACTIONS
      • MONITOR_NUM_RUNNING_FLUSHES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_RUNNING_FLUSHES
      • MONITOR_ACTUAL_DELAYED_WRITE_RATE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_ACTUAL_DELAYED_WRITE_RATE
      • IS_WRITE_STOPPED

        public static final org.apache.flink.configuration.ConfigOption<Boolean> IS_WRITE_STOPPED
      • BLOCK_CACHE_CAPACITY

        public static final org.apache.flink.configuration.ConfigOption<Boolean> BLOCK_CACHE_CAPACITY
      • BLOCK_CACHE_USAGE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> BLOCK_CACHE_USAGE
      • BLOCK_CACHE_PINNED_USAGE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> BLOCK_CACHE_PINNED_USAGE
      • COLUMN_FAMILY_AS_VARIABLE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> COLUMN_FAMILY_AS_VARIABLE
      • MONITOR_NUM_FILES_AT_LEVEL

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_NUM_FILES_AT_LEVEL
      • MONITOR_BLOCK_CACHE_HIT

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BLOCK_CACHE_HIT
      • MONITOR_BLOCK_CACHE_MISS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BLOCK_CACHE_MISS
      • MONITOR_BLOOM_FILTER_USEFUL

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BLOOM_FILTER_USEFUL
      • MONITOR_BLOOM_FILTER_FULL_POSITIVE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BLOOM_FILTER_FULL_POSITIVE
      • MONITOR_BLOOM_FILTER_FULL_TRUE_POSITIVE

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BLOOM_FILTER_FULL_TRUE_POSITIVE
      • MONITOR_BYTES_READ

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BYTES_READ
      • MONITOR_ITER_BYTES_READ

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_ITER_BYTES_READ
      • MONITOR_BYTES_WRITTEN

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_BYTES_WRITTEN
      • MONITOR_COMPACTION_READ_BYTES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_COMPACTION_READ_BYTES
      • MONITOR_COMPACTION_WRITE_BYTES

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_COMPACTION_WRITE_BYTES
      • MONITOR_STALL_MICROS

        public static final org.apache.flink.configuration.ConfigOption<Boolean> MONITOR_STALL_MICROS
    • Constructor Detail

      • RocksDBNativeMetricOptions

        public RocksDBNativeMetricOptions()
    • Method Detail

      • enableNativeStatistics

        @VisibleForTesting
        public void enableNativeStatistics​(org.apache.flink.configuration.ConfigOption<Boolean> nativeStatisticsOption)
      • enableNumImmutableMemTable

        public void enableNumImmutableMemTable()
        Returns number of immutable memtables that have not yet been flushed.
      • enableMemTableFlushPending

        public void enableMemTableFlushPending()
        Returns 1 if a memtable flush is pending; otherwise, returns 0.
      • enableCompactionPending

        public void enableCompactionPending()
        Returns 1 if at least one compaction is pending; otherwise, returns 0.
      • enableBackgroundErrors

        public void enableBackgroundErrors()
        Returns accumulated number of background errors.
      • enableCurSizeActiveMemTable

        public void enableCurSizeActiveMemTable()
        Returns approximate size of active memtable (bytes).
      • enableCurSizeAllMemTables

        public void enableCurSizeAllMemTables()
        Returns approximate size of active and unflushed immutable memtables (bytes).
      • enableSizeAllMemTables

        public void enableSizeAllMemTables()
        Returns approximate size of active, unflushed immutable, and pinned immutable memtables (bytes).
      • enableNumEntriesActiveMemTable

        public void enableNumEntriesActiveMemTable()
        Returns total number of entries in the active memtable.
      • enableNumEntriesImmMemTables

        public void enableNumEntriesImmMemTables()
        Returns total number of entries in the unflushed immutable memtables.
      • enableNumDeletesActiveMemTable

        public void enableNumDeletesActiveMemTable()
        Returns total number of delete entries in the active memtable.
      • enableNumDeletesImmMemTables

        public void enableNumDeletesImmMemTables()
        Returns total number of delete entries in the unflushed immutable memtables.
      • enableEstimateNumKeys

        public void enableEstimateNumKeys()
        Returns estimated number of total keys in the active and unflushed immutable memtables and storage.
      • enableEstimateTableReadersMem

        public void enableEstimateTableReadersMem()
        Returns estimated memory used for reading SST tables, excluding memory used in block cache (e.g.,filter and index blocks).
      • enableNumSnapshots

        public void enableNumSnapshots()
        Returns number of unreleased snapshots of the database.
      • enableNumLiveVersions

        public void enableNumLiveVersions()
        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.
      • enableEstimateLiveDataSize

        public void enableEstimateLiveDataSize()
        Returns an estimate of the amount of live data in bytes.
      • enableTotalSstFilesSize

        public void enableTotalSstFilesSize()
        Returns total size (bytes) of all SST files. WARNING: may slow down online queries if there are too many files.
      • enableLiveSstFilesSize

        public void enableLiveSstFilesSize()
      • enableEstimatePendingCompactionBytes

        public void enableEstimatePendingCompactionBytes()
        Returns estimated total number of bytes compaction needs to rewrite to get all levels down to under target size. Not valid for other compactions than level-based.
      • enableNumRunningCompactions

        public void enableNumRunningCompactions()
        Returns the number of currently running compactions.
      • enableNumRunningFlushes

        public void enableNumRunningFlushes()
        Returns the number of currently running flushes.
      • enableActualDelayedWriteRate

        public void enableActualDelayedWriteRate()
        Returns the current actual delayed write rate. 0 means no delay.
      • enableIsWriteStopped

        public void enableIsWriteStopped()
        Returns 1 if write has been stopped.
      • enableBlockCacheCapacity

        public void enableBlockCacheCapacity()
        Returns block cache capacity.
      • enableBlockCacheUsage

        public void enableBlockCacheUsage()
        Returns the memory size for the entries residing in block cache.
      • enableBlockCachePinnedUsage

        public void enableBlockCachePinnedUsage()
        Returns the memory size for the entries being pinned in block cache.
      • enableNumFilesAtLevel

        public void enableNumFilesAtLevel()
        Returns the number of files per level.
      • setColumnFamilyAsVariable

        public void setColumnFamilyAsVariable​(boolean columnFamilyAsVariable)
        Returns the column family as variable.
      • getMonitorTickerTypes

        public Collection<org.rocksdb.TickerType> getMonitorTickerTypes()
        Returns:
        the enabled RocksDB statistics metrics.
      • isEnabled

        public boolean isEnabled()
        {RocksDBNativeMetricMonitor} is enabled if any property or ticker type is set.
        Returns:
        true if {{RocksDBNativeMetricMonitor}} should be enabled, false otherwise.
      • isStatisticsEnabled

        public boolean isStatisticsEnabled()
        Returns:
        true if RocksDB statistics metrics are enabled, false otherwise.
      • isColumnFamilyAsVariable

        public boolean isColumnFamilyAsVariable()
        {RocksDBNativeMetricMonitor} Whether to expose the column family as a variable..
        Returns:
        true is column family to expose variable, false otherwise.