This is an automated email from the ASF dual-hosted git repository.
jackietien 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 44ed96111ab Add device number metric
44ed96111ab is described below
commit 44ed96111abe1d4f3bb0f7a8696ea9397a3466ae
Author: Chen YZ <[email protected]>
AuthorDate: Thu May 16 14:44:45 2024 +0800
Add device number metric
---
.../schemaengine/metric/SchemaEngineMemMetric.java | 15 ++++++++++++++-
.../schemaengine/metric/SchemaRegionMemMetric.java | 21 +++++++++++++++++++++
.../rescon/ISchemaEngineStatistics.java | 2 ++
.../rescon/MemSchemaEngineStatistics.java | 14 ++++++++++++++
.../rescon/MemSchemaRegionStatistics.java | 3 +++
5 files changed, 54 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaEngineMemMetric.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaEngineMemMetric.java
index 88080782e16..b80f0f6b6ef 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaEngineMemMetric.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaEngineMemMetric.java
@@ -37,7 +37,7 @@ public class SchemaEngineMemMetric implements
ISchemaEngineMetric {
private static final String TOTAL_MEM_USAGE =
"schema_region_total_mem_usage";
private static final String MEM_CAPACITY = "schema_region_mem_capacity";
private static final String REGION_NUMBER = "schema_region_number";
-
+ private static final String DEVICE_NUMBER = "schema_region_total_device_cnt";
private static final String SCHEMA_CONSENSUS = "schema_region_consensus";
private static final String SCHEMA_ENGINE_MODE = "schema_engine_mode";
@@ -49,6 +49,13 @@ public class SchemaEngineMemMetric implements
ISchemaEngineMetric {
@Override
public void bindTo(AbstractMetricService metricService) {
+ metricService.createAutoGauge(
+ Metric.MEM.toString(),
+ MetricLevel.IMPORTANT,
+ engineStatistics,
+ ISchemaEngineStatistics::getTotalDevicesNumber,
+ Tag.NAME.toString(),
+ DEVICE_NUMBER);
metricService.createAutoGauge(
Metric.MEM.toString(),
MetricLevel.IMPORTANT,
@@ -94,6 +101,8 @@ public class SchemaEngineMemMetric implements
ISchemaEngineMetric {
@Override
public void unbindFrom(AbstractMetricService metricService) {
+ metricService.remove(
+ MetricType.AUTO_GAUGE, Metric.MEM.toString(), Tag.NAME.toString(),
DEVICE_NUMBER);
metricService.remove(
MetricType.AUTO_GAUGE,
Metric.MEM.toString(),
@@ -108,6 +117,10 @@ public class SchemaEngineMemMetric implements
ISchemaEngineMetric {
MetricType.AUTO_GAUGE, Metric.SCHEMA_ENGINE.toString(),
Tag.NAME.toString(), MEM_CAPACITY);
metricService.remove(
MetricType.AUTO_GAUGE, Metric.SCHEMA_ENGINE.toString(),
Tag.NAME.toString(), REGION_NUMBER);
+ metricService.remove(
+ MetricType.GAUGE, Metric.SCHEMA_ENGINE.toString(),
Tag.NAME.toString(), SCHEMA_ENGINE_MODE);
+ metricService.remove(
+ MetricType.GAUGE, Metric.SCHEMA_ENGINE.toString(),
Tag.NAME.toString(), SCHEMA_CONSENSUS);
}
/**
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaRegionMemMetric.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaRegionMemMetric.java
index 1437d5d651e..ae255cc0caa 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaRegionMemMetric.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/metric/SchemaRegionMemMetric.java
@@ -34,6 +34,7 @@ public class SchemaRegionMemMetric implements
ISchemaRegionMetric {
private static final String MEM_USAGE = "schema_region_mem_usage";
private static final String SERIES_CNT = "schema_region_series_cnt";
+ private static final String DEVICE_NUMBER = "schema_region_device_cnt";
private static final String TEMPLATE_CNT = "activated_template_cnt";
private static final String TEMPLATE_SERIES_CNT = "template_series_cnt";
private static final String TRAVERSER_TIMER =
"schema_region_traverser_timer";
@@ -52,6 +53,17 @@ public class SchemaRegionMemMetric implements
ISchemaRegionMetric {
@Override
public void bindTo(AbstractMetricService metricService) {
+ metricService.createAutoGauge(
+ Metric.SCHEMA_REGION.toString(),
+ MetricLevel.IMPORTANT,
+ regionStatistics,
+ MemSchemaRegionStatistics::getDevicesNumber,
+ Tag.NAME.toString(),
+ DEVICE_NUMBER,
+ Tag.REGION.toString(),
+ regionTagValue,
+ Tag.DATABASE.toString(),
+ database);
metricService.createAutoGauge(
Metric.SCHEMA_REGION.toString(),
MetricLevel.IMPORTANT,
@@ -111,6 +123,15 @@ public class SchemaRegionMemMetric implements
ISchemaRegionMetric {
@Override
public void unbindFrom(AbstractMetricService metricService) {
traverserTimer = DoNothingMetricManager.DO_NOTHING_TIMER;
+ metricService.remove(
+ MetricType.AUTO_GAUGE,
+ Metric.SCHEMA_REGION.toString(),
+ Tag.NAME.toString(),
+ DEVICE_NUMBER,
+ Tag.REGION.toString(),
+ regionTagValue,
+ Tag.DATABASE.toString(),
+ database);
metricService.remove(
MetricType.AUTO_GAUGE,
Metric.SCHEMA_REGION.toString(),
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/ISchemaEngineStatistics.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/ISchemaEngineStatistics.java
index 1cdd6aa11b2..cca3cecfc69 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/ISchemaEngineStatistics.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/ISchemaEngineStatistics.java
@@ -31,6 +31,8 @@ public interface ISchemaEngineStatistics {
long getTotalSeriesNumber();
+ long getTotalDevicesNumber();
+
int getSchemaRegionNumber();
long getTemplateSeriesNumber();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaEngineStatistics.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaEngineStatistics.java
index b48d27fb798..9bc847634dd 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaEngineStatistics.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaEngineStatistics.java
@@ -44,6 +44,7 @@ public class MemSchemaEngineStatistics implements
ISchemaEngineStatistics {
protected final AtomicLong memoryUsage = new AtomicLong(0);
private final AtomicLong totalMeasurementNumber = new AtomicLong(0);
private final AtomicLong totalViewNumber = new AtomicLong(0);
+ private final AtomicLong totalDeviceNumber = new AtomicLong(0);
private final Map<Integer, Integer> templateUsage = new
ConcurrentHashMap<>();
private volatile boolean allowToCreateNewSeries = true;
@@ -116,6 +117,11 @@ public class MemSchemaEngineStatistics implements
ISchemaEngineStatistics {
return totalMeasurementNumber.get() + totalViewNumber.get() +
getTemplateSeriesNumber();
}
+ @Override
+ public long getTotalDevicesNumber() {
+ return totalDeviceNumber.get();
+ }
+
@Override
public int getSchemaRegionNumber() {
return SchemaEngine.getInstance().getSchemaRegionNumber();
@@ -165,6 +171,14 @@ public class MemSchemaEngineStatistics implements
ISchemaEngineStatistics {
totalViewNumber.addAndGet(-deletedNum);
}
+ public void addDevice() {
+ totalDeviceNumber.incrementAndGet();
+ }
+
+ public void deleteDevice(long cnt) {
+ totalDeviceNumber.addAndGet(-cnt);
+ }
+
@Override
public MemSchemaEngineStatistics getAsMemSchemaEngineStatistics() {
return this;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaRegionStatistics.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaRegionStatistics.java
index c5fd13ad93f..be960b3807b 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaRegionStatistics.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/rescon/MemSchemaRegionStatistics.java
@@ -96,10 +96,12 @@ public class MemSchemaRegionStatistics implements
ISchemaRegionStatistics {
public void addDevice() {
devicesNumber.incrementAndGet();
+ schemaEngineStatistics.addDevice();
}
public void deleteDevice() {
devicesNumber.decrementAndGet();
+ schemaEngineStatistics.deleteDevice(1L);
}
@Override
@@ -162,6 +164,7 @@ public class MemSchemaRegionStatistics implements
ISchemaRegionStatistics {
schemaEngineStatistics.releaseMemory(memoryUsage.get());
schemaEngineStatistics.deleteMeasurement(measurementNumber.get());
schemaEngineStatistics.deleteView(viewNumber.get());
+ schemaEngineStatistics.deleteDevice(devicesNumber.get());
memoryUsage.getAndSet(0);
measurementNumber.getAndSet(0);
devicesNumber.getAndSet(0);