This is an automated email from the ASF dual-hosted git repository.
pnowojski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 890a9951ea7 [FLINK-34386][state] Add RocksDB bloom filter metrics
890a9951ea7 is described below
commit 890a9951ea7ec8f0b9348f4fa745bf9671d31947
Author: hejufang <[email protected]>
AuthorDate: Tue Feb 6 17:10:12 2024 +0800
[FLINK-34386][state] Add RocksDB bloom filter metrics
---
.../rocksdb_native_metric_configuration.html | 18 ++++++++++++++++
.../state/RocksDBNativeMetricOptions.java | 25 ++++++++++++++++++++++
2 files changed, 43 insertions(+)
diff --git
a/docs/layouts/shortcodes/generated/rocksdb_native_metric_configuration.html
b/docs/layouts/shortcodes/generated/rocksdb_native_metric_configuration.html
index 2edd8387d08..dc03be5ff25 100644
--- a/docs/layouts/shortcodes/generated/rocksdb_native_metric_configuration.html
+++ b/docs/layouts/shortcodes/generated/rocksdb_native_metric_configuration.html
@@ -50,6 +50,24 @@
<td>Boolean</td>
<td>Monitor the memory size for the entries residing in block
cache.</td>
</tr>
+ <tr>
+
<td><h5>state.backend.rocksdb.metrics.bloom-filter-full-positive</h5></td>
+ <td style="word-wrap: break-word;">false</td>
+ <td>Boolean</td>
+ <td>Monitor the total count of reads not avoided by bloom full
filter.</td>
+ </tr>
+ <tr>
+
<td><h5>state.backend.rocksdb.metrics.bloom-filter-full-true-positive</h5></td>
+ <td style="word-wrap: break-word;">false</td>
+ <td>Boolean</td>
+ <td>Monitor the total count of reads not avoided by bloom full
filter and the data actually exists in RocksDB.</td>
+ </tr>
+ <tr>
+ <td><h5>state.backend.rocksdb.metrics.bloom-filter-useful</h5></td>
+ <td style="word-wrap: break-word;">false</td>
+ <td>Boolean</td>
+ <td>Monitor the total count of reads avoided by bloom filter.</td>
+ </tr>
<tr>
<td><h5>state.backend.rocksdb.metrics.bytes-read</h5></td>
<td style="word-wrap: break-word;">false</td>
diff --git
a/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBNativeMetricOptions.java
b/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBNativeMetricOptions.java
index f6fc5c759ae..7975f5f059c 100644
---
a/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBNativeMetricOptions.java
+++
b/flink-state-backends/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBNativeMetricOptions.java
@@ -262,6 +262,26 @@ public class RocksDBNativeMetricOptions implements
Serializable {
.withDescription(
"Monitor the total count of block cache misses in
RocksDB (BLOCK_CACHE_MISS == BLOCK_CACHE_INDEX_MISS + BLOCK_CACHE_FILTER_MISS +
BLOCK_CACHE_DATA_MISS).");
+ public static final ConfigOption<Boolean> MONITOR_BLOOM_FILTER_USEFUL =
+
ConfigOptions.key("state.backend.rocksdb.metrics.bloom-filter-useful")
+ .booleanType()
+ .defaultValue(false)
+ .withDescription("Monitor the total count of reads avoided
by bloom filter.");
+
+ public static final ConfigOption<Boolean>
MONITOR_BLOOM_FILTER_FULL_POSITIVE =
+
ConfigOptions.key("state.backend.rocksdb.metrics.bloom-filter-full-positive")
+ .booleanType()
+ .defaultValue(false)
+ .withDescription(
+ "Monitor the total count of reads not avoided by
bloom full filter.");
+
+ public static final ConfigOption<Boolean>
MONITOR_BLOOM_FILTER_FULL_TRUE_POSITIVE =
+
ConfigOptions.key("state.backend.rocksdb.metrics.bloom-filter-full-true-positive")
+ .booleanType()
+ .defaultValue(false)
+ .withDescription(
+ "Monitor the total count of reads not avoided by
bloom full filter and the data actually exists in RocksDB.");
+
public static final ConfigOption<Boolean> MONITOR_BYTES_READ =
ConfigOptions.key("state.backend.rocksdb.metrics.bytes-read")
.booleanType()
@@ -435,6 +455,11 @@ public class RocksDBNativeMetricOptions implements
Serializable {
{
put(MONITOR_BLOCK_CACHE_HIT, TickerType.BLOCK_CACHE_HIT);
put(MONITOR_BLOCK_CACHE_MISS, TickerType.BLOCK_CACHE_MISS);
+ put(MONITOR_BLOOM_FILTER_USEFUL,
TickerType.BLOOM_FILTER_USEFUL);
+ put(MONITOR_BLOOM_FILTER_FULL_POSITIVE,
TickerType.BLOOM_FILTER_FULL_POSITIVE);
+ put(
+ MONITOR_BLOOM_FILTER_FULL_TRUE_POSITIVE,
+ TickerType.BLOOM_FILTER_FULL_TRUE_POSITIVE);
put(MONITOR_BYTES_READ, TickerType.BYTES_READ);
put(MONITOR_ITER_BYTES_READ, TickerType.ITER_BYTES_READ);
put(MONITOR_BYTES_WRITTEN, TickerType.BYTES_WRITTEN);