This is an automated email from the ASF dual-hosted git repository.
xingtanzjr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new f3ef81a73ea delay the initialization of DataRegion metrics (#10100)
f3ef81a73ea is described below
commit f3ef81a73ea93c580c613273e7fb23ab5f5f5762
Author: shuwenwei <[email protected]>
AuthorDate: Wed Jun 14 10:44:42 2023 +0800
delay the initialization of DataRegion metrics (#10100)
---
.../iotdb/db/service/metrics/WritingMetrics.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
b/server/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
index 582d208f70e..4138ff20d47 100644
---
a/server/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
+++
b/server/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.commons.consensus.DataRegionId;
import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.service.metric.enums.Metric;
import org.apache.iotdb.commons.service.metric.enums.Tag;
+import org.apache.iotdb.db.engine.StorageEngine;
import org.apache.iotdb.db.engine.flush.FlushManager;
import org.apache.iotdb.db.engine.storagegroup.DataRegion;
import org.apache.iotdb.db.wal.WALManager;
@@ -36,6 +37,7 @@ import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.metrics.utils.MetricType;
import java.util.Arrays;
+import java.util.List;
public class WritingMetrics implements IMetricSet {
private static final WritingMetrics INSTANCE = new WritingMetrics();
@@ -341,6 +343,22 @@ public class WritingMetrics implements IMetricSet {
"oldest_mem_table_ram_when_cause_flush";
public static final String FLUSH_TSFILE_SIZE = "flush_tsfile_size";
+ public void bindDataRegionMetrics() {
+ List<DataRegion> allDataRegions =
StorageEngine.getInstance().getAllDataRegions();
+ List<DataRegionId> allDataRegionIds =
StorageEngine.getInstance().getAllDataRegionIds();
+ allDataRegions.forEach(this::createDataRegionMemoryCostMetrics);
+ allDataRegionIds.forEach(this::createFlushingMemTableStatusMetrics);
+ }
+
+ public void unbindDataRegionMetrics() {
+ List<DataRegionId> allDataRegionIds =
StorageEngine.getInstance().getAllDataRegionIds();
+ allDataRegionIds.forEach(
+ dataRegionId -> {
+ removeDataRegionMemoryCostMetrics(dataRegionId);
+ removeFlushingMemTableStatusMetrics(dataRegionId);
+ });
+ }
+
public void createDataRegionMemoryCostMetrics(DataRegion dataRegion) {
DataRegionId dataRegionId = new
DataRegionId(Integer.parseInt(dataRegion.getDataRegionId()));
MetricService.getInstance()
@@ -641,6 +659,7 @@ public class WritingMetrics implements IMetricSet {
bindFlushSubTaskMetrics(metricService);
bindWALMetrics(metricService);
bindWALCostMetrics(metricService);
+ bindDataRegionMetrics();
}
@Override
@@ -649,6 +668,7 @@ public class WritingMetrics implements IMetricSet {
unbindFlushSubTaskMetrics(metricService);
unbindWALMetrics(metricService);
unbindWALCostMetrics(metricService);
+ unbindDataRegionMetrics();
}
public static WritingMetrics getInstance() {