This is an automated email from the ASF dual-hosted git repository.

shuwenwei pushed a commit to branch table_disk_usage_statistics_with_cache
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to 
refs/heads/table_disk_usage_statistics_with_cache by this push:
     new 3cdec0d80bd add metric
3cdec0d80bd is described below

commit 3cdec0d80bd17428ae32b7e99c21290b7059eeb6
Author: shuwenwei <[email protected]>
AuthorDate: Wed Jan 28 16:14:29 2026 +0800

    add metric
---
 .../iotdb/db/service/metrics/WritingMetrics.java   | 22 ++++++++++++++++++++++
 .../iotdb/commons/service/metric/enums/Metric.java |  1 +
 2 files changed, 23 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
index c6251c4e6c8..9ee13e01b99 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
@@ -26,12 +26,14 @@ import org.apache.iotdb.commons.service.metric.enums.Tag;
 import org.apache.iotdb.db.storageengine.StorageEngine;
 import org.apache.iotdb.db.storageengine.dataregion.DataRegion;
 import org.apache.iotdb.db.storageengine.dataregion.flush.FlushManager;
+import 
org.apache.iotdb.db.storageengine.dataregion.utils.tableDiskUsageCache.TableDiskUsageCache;
 import org.apache.iotdb.db.storageengine.dataregion.wal.WALManager;
 import 
org.apache.iotdb.db.storageengine.dataregion.wal.checkpoint.CheckpointType;
 import org.apache.iotdb.db.storageengine.rescon.memory.SystemInfo;
 import org.apache.iotdb.metrics.AbstractMetricService;
 import org.apache.iotdb.metrics.impl.DoNothingMetricManager;
 import org.apache.iotdb.metrics.metricsets.IMetricSet;
+import org.apache.iotdb.metrics.type.AutoGauge;
 import org.apache.iotdb.metrics.type.Counter;
 import org.apache.iotdb.metrics.type.Gauge;
 import org.apache.iotdb.metrics.type.Histogram;
@@ -446,6 +448,7 @@ public class WritingMetrics implements IMetricSet {
   public static final String WAL_FLUSH_MEMTABLE_COUNT = 
"wal_flush_memtable_count";
   public static final String MANUAL_FLUSH_MEMTABLE_COUNT = 
"manual_flush_memtable_count";
   public static final String MEM_CONTROL_FLUSH_MEMTABLE_COUNT = 
"mem_control_flush_memtable_count";
+  public static final String BLOCKED_OPERATION_NUM = "blocked_operation_num";
 
   private Gauge flushThreholdGauge = DoNothingMetricManager.DO_NOTHING_GAUGE;
   private Gauge rejectThreholdGauge = DoNothingMetricManager.DO_NOTHING_GAUGE;
@@ -459,6 +462,9 @@ public class WritingMetrics implements IMetricSet {
 
   private Histogram avgPointHistogram = 
DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
 
+  private AutoGauge tableDiskUsageCacheBlockedRequestNumGauge =
+      DoNothingMetricManager.DO_NOTHING_AUTO_GAUGE;
+
   public void bindDataRegionMetrics() {
     List<DataRegion> allDataRegions = 
StorageEngine.getInstance().getAllDataRegions();
     List<DataRegionId> allDataRegionIds = 
StorageEngine.getInstance().getAllDataRegionIds();
@@ -489,6 +495,16 @@ public class WritingMetrics implements IMetricSet {
     memtableLiveTimer =
         MetricService.getInstance()
             .getOrCreateTimer(Metric.MEMTABLE_LIVE_DURATION.toString(), 
MetricLevel.IMPORTANT);
+
+    tableDiskUsageCacheBlockedRequestNumGauge =
+        MetricService.getInstance()
+            .createAutoGauge(
+                Metric.TABLE_DISK_USAGE_CACHE.toString(),
+                MetricLevel.IMPORTANT,
+                TableDiskUsageCache.getInstance(),
+                TableDiskUsageCache::getQueueSize,
+                Tag.NAME.toString(),
+                BLOCKED_OPERATION_NUM);
   }
 
   public void unbindDataRegionMetrics() {
@@ -517,6 +533,12 @@ public class WritingMetrics implements IMetricSet {
             Tag.TYPE.toString(),
             REJECT_THRESHOLD);
     MetricService.getInstance().remove(MetricType.TIMER, 
Metric.MEMTABLE_LIVE_DURATION.toString());
+    MetricService.getInstance()
+        .remove(
+            MetricType.AUTO_GAUGE,
+            Metric.TABLE_DISK_USAGE_CACHE.toString(),
+            Tag.NAME.toString(),
+            BLOCKED_OPERATION_NUM);
   }
 
   public void createDataRegionMemoryCostMetrics(DataRegion dataRegion) {
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
index ad14e90cd57..74b5cafbae1 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
@@ -91,6 +91,7 @@ public enum Metric {
   PAM_RELEASED_COUNT("primitive_array_manager_released_count"),
   
PAM_ALLOCATED_FAILURE_COUNT("primitive_array_manager_allocated_failure_count"),
   PAM_RELEASED_FAILURE_COUNT("primitive_array_manager_released_failure_count"),
+  TABLE_DISK_USAGE_CACHE("table_disk_usage_cache"),
 
   // compaction related
   DATA_WRITTEN("data_written"),

Reply via email to