You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/10/26 15:25:37 UTC
[iotdb] branch master updated: [IOTDB-4651] Remove Predefined Metric Sets and Add MultiLeader metrics. (#7602)
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 9f8bcc7692 [IOTDB-4651] Remove Predefined Metric Sets and Add MultiLeader metrics. (#7602)
9f8bcc7692 is described below
commit 9f8bcc7692183207acfb2a67ddc7348ad5849350
Author: ZhangHongYin <46...@users.noreply.github.com>
AuthorDate: Wed Oct 26 23:25:30 2022 +0800
[IOTDB-4651] Remove Predefined Metric Sets and Add MultiLeader metrics. (#7602)
---
.../iotdb/confignode/manager/load/LoadManager.java | 2 +-
.../manager/load/LoadManagerMetrics.java | 4 +-
.../iotdb/confignode/manager/node/NodeManager.java | 2 +-
.../manager/partition/PartitionManager.java | 2 +-
.../persistence/metric/NodeInfoMetrics.java | 4 +-
.../persistence/metric/PartitionInfoMetrics.java | 4 +-
.../persistence/partition/PartitionInfo.java | 6 +-
.../iotdb/confignode/service/ConfigNode.java | 12 ++-
.../service/thrift/ConfigNodeRPCService.java | 2 +-
.../thrift/ConfigNodeRPCServiceHandler.java | 2 +-
.../thrift/ConfigNodeRPCServiceHandlerMetrics.java | 4 +-
.../thrift/ConfigNodeRPCServiceMetrics.java | 4 +-
.../resources/confignode1conf/iotdb-metric.yml | 5 --
.../resources/confignode2conf/iotdb-metric.yml | 5 --
.../resources/confignode3conf/iotdb-metric.yml | 5 --
.../multileader/MultiLeaderServerImpl.java | 65 +++++++++++++++
.../multileader/MultiLeaderServerMetrics.java | 88 ++++++++++++++++++++
.../multileader/client/DispatchLogHandler.java | 15 ++++
.../multileader/logdispatcher/LogDispatcher.java | 23 ++++++
.../logdispatcher/LogDispatcherThreadMetrics.java | 95 ++++++++++++++++++++++
.../logdispatcher/MultiLeaderMemoryManager.java | 10 ++-
.../MultiLeaderMemoryManagerMetrics.java | 41 +++-------
docs/UserGuide/Maintenance-Tools/Metric-Tool.md | 6 --
docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 7 --
.../src/test/resources/logback-test.xml | 2 +-
integration/src/test/resources/logback-test.xml | 2 +-
metrics/ReadMe.md | 9 +-
.../resources/conf/iotdb-confignode-metric.yml | 5 --
.../resources/conf/iotdb-datanode-metric.yml | 5 --
.../iotdb/metrics/AbstractMetricService.java | 19 ++---
.../iotdb/metrics/DoNothingMetricService.java | 6 --
.../apache/iotdb/metrics/config/MetricConfig.java | 15 ----
.../metrics/config/MetricConfigDescriptor.java | 1 -
.../jvm/JvmClassLoaderMetrics.java | 2 +-
.../{predefined => }/jvm/JvmCompileMetrics.java | 2 +-
.../{predefined => }/jvm/JvmGcMetrics.java | 2 +-
.../{predefined => }/jvm/JvmMemoryMetrics.java | 2 +-
.../{predefined => }/jvm/JvmMetrics.java | 2 +-
.../{predefined => }/jvm/JvmThreadMetrics.java | 2 +-
.../metricsets/{predefined => }/jvm/JvmUtils.java | 2 +-
.../{predefined => }/logback/LogbackMetrics.java | 2 +-
.../logback/MetricsTurboFilter.java | 2 +-
.../metricsets/predefined/PredefinedMetric.java | 33 --------
.../iotdb/metrics/config/MetricConfigTest.java | 1 -
.../interface/src/test/resources/iotdb-metric.yml | 8 --
node-commons/pom.xml | 16 ++++
.../commons/service/metric}/MetricService.java | 35 +-------
.../service/metric}/MetricServiceMBean.java | 2 +-
.../commons/service/metric}/enums/Metric.java | 9 +-
.../commons/service/metric}/enums/Operation.java | 2 +-
.../iotdb/commons/service/metric}/enums/Tag.java | 3 +-
server/pom.xml | 10 ---
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 5 --
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 2 +-
.../iotdb/db/engine/TsFileMetricManager.java | 7 +-
.../apache/iotdb/db/engine/cache/ChunkCache.java | 2 +-
.../iotdb/db/engine/cache/ChunkCacheMetrics.java | 4 +-
.../db/engine/cache/TimeSeriesMetadataCache.java | 2 +-
.../cache/TimeSeriesMetadataCacheMetrics.java | 4 +-
.../apache/iotdb/db/engine/flush/FlushManager.java | 2 +-
.../iotdb/db/engine/flush/FlushManagerMetrics.java | 4 +-
.../iotdb/db/engine/flush/MemTableFlushTask.java | 6 +-
.../iotdb/db/engine/memtable/AbstractMemTable.java | 6 +-
.../iotdb/db/engine/storagegroup/DataRegion.java | 2 +-
.../db/engine/storagegroup/DataRegionMetrics.java | 4 +-
.../engine/storagegroup/TsFileProcessorInfo.java | 2 +-
.../storagegroup/TsFileProcessorInfoMetrics.java | 6 +-
.../db/metadata/cache/DataNodeSchemaCache.java | 2 +-
.../metadata/cache/DataNodeSchemaCacheMetrics.java | 4 +-
.../db/metadata/rescon/SchemaResourceManager.java | 2 +-
.../rescon/SchemaStatisticsManagerMetrics.java | 4 +-
.../execution/exchange/MPPDataExchangeService.java | 2 +-
.../exchange/MPPDataExchangeServiceMetrics.java | 4 +-
.../MPPDataExchangeServiceThriftHandler.java | 2 +-
...MppDataExchangeServiceThriftHandlerMetrics.java | 6 +-
.../db/query/pool/RawQueryReadTaskPoolManager.java | 2 +-
.../pool/RawQueryReadTaskPoolManagerMetrics.java | 4 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 5 +-
.../db/service/DataNodeInternalRPCService.java | 2 +-
.../service/DataNodeInternalRPCServiceMetrics.java | 4 +-
.../java/org/apache/iotdb/db/service/IoTDB.java | 5 +-
.../java/org/apache/iotdb/db/service/NewIoTDB.java | 5 +-
.../org/apache/iotdb/db/service/RPCService.java | 2 +-
.../apache/iotdb/db/service/RPCServiceMetrics.java | 4 +-
...erviceMBean.java => DataNodeMetricsHelper.java} | 25 ++++--
.../metrics/{predefined => }/FileMetrics.java | 6 +-
.../metrics/{predefined => }/ProcessMetrics.java | 6 +-
.../metrics/{predefined => }/SystemMetrics.java | 6 +-
.../metrics/recorder/CacheMetricsRecorder.java | 6 +-
.../recorder/CompactionMetricsRecorder.java | 6 +-
.../db/service/thrift/ProcessorWithMetrics.java | 6 +-
.../handler/InternalServiceThriftHandler.java | 2 +-
.../InternalServiceThriftHandlerMetrics.java | 4 +-
.../thrift/handler/RPCServiceThriftHandler.java | 2 +-
.../handler/RPCServiceThriftHandlerMetrics.java | 4 +-
.../service/thrift/impl/ClientRPCServiceImpl.java | 4 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 6 +-
.../db/service/thrift/impl/TSServiceImpl.java | 4 +-
.../test/resources/datanode1conf/iotdb-metric.yml | 7 +-
.../test/resources/datanode2conf/iotdb-metric.yml | 7 +-
.../test/resources/datanode3conf/iotdb-metric.yml | 7 +-
server/src/test/resources/logback-test.xml | 2 +-
.../apache/iotdb/spark/db/EnvironmentUtils.java | 2 +-
103 files changed, 496 insertions(+), 347 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
index 13ed4a479b..4051dcc433 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
import org.apache.iotdb.commons.partition.DataPartitionTable;
import org.apache.iotdb.commons.partition.SchemaPartitionTable;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.confignode.client.DataNodeRequestType;
import org.apache.iotdb.confignode.client.async.AsyncDataNodeClientPool;
import org.apache.iotdb.confignode.client.async.handlers.AsyncClientHandler;
@@ -50,7 +51,6 @@ import org.apache.iotdb.confignode.manager.node.NodeManager;
import org.apache.iotdb.confignode.manager.partition.PartitionManager;
import org.apache.iotdb.confignode.persistence.node.NodeStatistics;
import org.apache.iotdb.confignode.persistence.partition.statistics.RegionGroupStatistics;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.mpp.rpc.thrift.TRegionRouteReq;
import org.slf4j.Logger;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManagerMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManagerMetrics.java
index a9936f764e..989dcaae1b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManagerMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManagerMetrics.java
@@ -22,12 +22,12 @@ import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.commons.cluster.NodeStatus;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.commons.utils.NodeUrlUtils;
import org.apache.iotdb.confignode.manager.IManager;
import org.apache.iotdb.confignode.manager.node.NodeManager;
import org.apache.iotdb.confignode.manager.partition.PartitionManager;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index bc99e8f093..c9c113f240 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
import org.apache.iotdb.commons.conf.CommonConfig;
import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.consensus.ConsensusGroupId;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.utils.StatusUtils;
import org.apache.iotdb.confignode.client.DataNodeRequestType;
import org.apache.iotdb.confignode.client.async.AsyncConfigNodeHeartbeatClientPool;
@@ -69,7 +70,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TRatisConfig;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.consensus.common.Peer;
import org.apache.iotdb.consensus.common.response.ConsensusGenericResponse;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.mpp.rpc.thrift.THeartbeatReq;
import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
index 92bba6dfb4..1aaf517313 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
import org.apache.iotdb.commons.partition.DataPartitionTable;
import org.apache.iotdb.commons.partition.SchemaPartitionTable;
import org.apache.iotdb.commons.partition.executor.SeriesPartitionExecutor;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.confignode.client.DataNodeRequestType;
import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
@@ -75,7 +76,6 @@ import org.apache.iotdb.confignode.persistence.partition.statistics.RegionGroupS
import org.apache.iotdb.consensus.ConsensusFactory;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.consensus.common.response.ConsensusReadResponse;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.mpp.rpc.thrift.TCreateDataRegionReq;
import org.apache.iotdb.mpp.rpc.thrift.TCreateSchemaRegionReq;
import org.apache.iotdb.rpc.RpcUtils;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/NodeInfoMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/NodeInfoMetrics.java
index 81c7e19d0e..d5c75ec5fb 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/NodeInfoMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/NodeInfoMetrics.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.confignode.persistence.metric;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.confignode.persistence.node.NodeInfo;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
index a72b52e28b..d832f547ce 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.confignode.persistence.metric;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
import org.apache.iotdb.confignode.persistence.partition.StorageGroupPartitionTable;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
index 8bf978cc7e..e33d850670 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
@@ -28,6 +28,9 @@ import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
import org.apache.iotdb.commons.partition.DataPartitionTable;
import org.apache.iotdb.commons.partition.SchemaPartitionTable;
+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.commons.snapshot.SnapshotProcessor;
import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
@@ -58,9 +61,6 @@ import org.apache.iotdb.confignode.persistence.partition.statistics.RegionGroupS
import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.consensus.common.DataSet;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
index 35b2607b43..a3646f1f66 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.RegisterManager;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.udf.service.UDFClassLoaderManager;
import org.apache.iotdb.confignode.client.ConfigNodeRequestType;
import org.apache.iotdb.confignode.client.sync.SyncConfigNodeClientPool;
@@ -37,7 +38,10 @@ import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
import org.apache.iotdb.confignode.service.thrift.ConfigNodeRPCService;
import org.apache.iotdb.confignode.service.thrift.ConfigNodeRPCServiceProcessor;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.db.service.metrics.ProcessMetrics;
+import org.apache.iotdb.db.service.metrics.SystemMetrics;
+import org.apache.iotdb.metrics.metricsets.jvm.JvmMetrics;
+import org.apache.iotdb.metrics.metricsets.logback.LogbackMetrics;
import org.apache.iotdb.rpc.TSStatusCode;
import org.slf4j.Logger;
@@ -192,6 +196,12 @@ public class ConfigNode implements ConfigNodeMBean {
registerManager.register(UDFClassLoaderManager.setupAndGetInstance(CONF.getUdfLibDir()));
registerManager.register(MetricService.getInstance());
+ // bind predefined metric sets
+ MetricService.getInstance().addMetricSet(new JvmMetrics());
+ MetricService.getInstance().addMetricSet(new LogbackMetrics());
+ MetricService.getInstance().addMetricSet(new ProcessMetrics());
+ MetricService.getInstance().addMetricSet(new SystemMetrics());
+
LOGGER.info("Successfully setup internal services.");
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
index 605d47e109..aeaee70f7b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCService.java
@@ -26,10 +26,10 @@ import org.apache.iotdb.commons.exception.runtime.RPCServiceException;
import org.apache.iotdb.commons.service.ServiceType;
import org.apache.iotdb.commons.service.ThriftService;
import org.apache.iotdb.commons.service.ThriftServiceThread;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
-import org.apache.iotdb.db.service.metrics.MetricService;
/** ConfigNodeRPCServer exposes the interface that interacts with the DataNode */
public class ConfigNodeRPCService extends ThriftService implements ConfigNodeRPCServiceMBean {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
index 21e8f4bf8b..f9892f2ae6 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandler.java
@@ -17,7 +17,7 @@
package org.apache.iotdb.confignode.service.thrift;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandlerMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandlerMetrics.java
index 8526847d58..327e854687 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandlerMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandlerMetrics.java
@@ -17,8 +17,8 @@
package org.apache.iotdb.confignode.service.thrift;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceMetrics.java
index 4cedf4c9e6..f266b49844 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceMetrics.java
@@ -19,8 +19,8 @@ package org.apache.iotdb.confignode.service.thrift;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.service.AbstractThriftServiceThread;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/confignode/src/test/resources/confignode1conf/iotdb-metric.yml b/confignode/src/test/resources/confignode1conf/iotdb-metric.yml
index e516cf26c4..6d4e82e10b 100644
--- a/confignode/src/test/resources/confignode1conf/iotdb-metric.yml
+++ b/confignode/src/test/resources/confignode1conf/iotdb-metric.yml
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9091
diff --git a/confignode/src/test/resources/confignode2conf/iotdb-metric.yml b/confignode/src/test/resources/confignode2conf/iotdb-metric.yml
index c1eba1d2f1..8bdbae6800 100644
--- a/confignode/src/test/resources/confignode2conf/iotdb-metric.yml
+++ b/confignode/src/test/resources/confignode2conf/iotdb-metric.yml
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9093
diff --git a/confignode/src/test/resources/confignode3conf/iotdb-metric.yml b/confignode/src/test/resources/confignode3conf/iotdb-metric.yml
index 22a4d3c4cb..fceee51f4b 100644
--- a/confignode/src/test/resources/confignode3conf/iotdb-metric.yml
+++ b/confignode/src/test/resources/confignode3conf/iotdb-metric.yml
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9095
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerImpl.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerImpl.java
index aaeb63d788..ae13e4df28 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerImpl.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerImpl.java
@@ -22,6 +22,9 @@ package org.apache.iotdb.consensus.multileader;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.client.IClientManager;
+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.consensus.IStateMachine;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.consensus.common.Peer;
@@ -47,6 +50,7 @@ import org.apache.iotdb.consensus.multileader.thrift.TTriggerSnapshotLoadReq;
import org.apache.iotdb.consensus.multileader.thrift.TTriggerSnapshotLoadRes;
import org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader;
import org.apache.iotdb.consensus.multileader.wal.GetConsensusReqReaderPlan;
+import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.iotdb.tsfile.utils.PublicBAOS;
@@ -94,6 +98,9 @@ public class MultiLeaderServerImpl {
private boolean active;
private String latestSnapshotId;
private final IClientManager<TEndPoint, SyncMultiLeaderServiceClient> syncClientManager;
+ private final MultiLeaderServerMetrics metrics;
+
+ private final String consensusGroupId;
public MultiLeaderServerImpl(
String storageDir,
@@ -123,6 +130,8 @@ public class MultiLeaderServerImpl {
reader.setSafelyDeletedSearchIndex(Long.MAX_VALUE);
}
this.index = new AtomicLong(currentSearchIndex);
+ this.consensusGroupId = thisNode.getGroupId().toString();
+ this.metrics = new MultiLeaderServerMetrics(this);
}
public IStateMachine getStateMachine() {
@@ -130,6 +139,7 @@ public class MultiLeaderServerImpl {
}
public void start() {
+ MetricService.getInstance().addMetricSet(this.metrics);
stateMachine.start();
logDispatcher.start();
}
@@ -137,14 +147,27 @@ public class MultiLeaderServerImpl {
public void stop() {
logDispatcher.stop();
stateMachine.stop();
+ MetricService.getInstance().removeMetricSet(this.metrics);
}
/**
* records the index of the log and writes locally, and then asynchronous replication is performed
*/
public TSStatus write(IConsensusRequest request) {
+ long consensusWriteStartTime = System.currentTimeMillis();
stateMachineLock.lock();
try {
+ long getStateMachineLockTime = System.currentTimeMillis();
+ // statistic the time of acquiring stateMachine lock
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "getStateMachineLock",
+ Tag.REGION.toString(),
+ this.consensusGroupId)
+ .update(getStateMachineLockTime - consensusWriteStartTime);
if (needBlockWrite()) {
logger.info(
"[Throttle Down] index:{}, safeIndex:{}",
@@ -164,8 +187,19 @@ public class MultiLeaderServerImpl {
Thread.currentThread().interrupt();
}
}
+ long writeToStateMachineStartTime = System.currentTimeMillis();
IndexedConsensusRequest indexedConsensusRequest =
buildIndexedConsensusRequestForLocalRequest(request);
+ // statistic the time of checking write block
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "checkingBeforeWrite",
+ Tag.REGION.toString(),
+ this.consensusGroupId)
+ .update(writeToStateMachineStartTime - getStateMachineLockTime);
if (indexedConsensusRequest.getSearchIndex() % 1000 == 0) {
logger.info(
"DataRegion[{}]: index after build: safeIndex:{}, searchIndex: {}",
@@ -175,6 +209,17 @@ public class MultiLeaderServerImpl {
}
// TODO wal and memtable
TSStatus result = stateMachine.write(indexedConsensusRequest);
+ long writeToStateMachineEndTime = System.currentTimeMillis();
+ // statistic the time of writing request into stateMachine
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "writeStateMachine",
+ Tag.REGION.toString(),
+ this.consensusGroupId)
+ .update(writeToStateMachineEndTime - writeToStateMachineStartTime);
if (result.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
// The index is used when constructing batch in LogDispatcher. If its value
// increases but the corresponding request does not exist or is not put into
@@ -186,6 +231,16 @@ public class MultiLeaderServerImpl {
logDispatcher.offer(indexedConsensusRequest);
index.incrementAndGet();
}
+ // statistic the time of offering request into queue
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "offerRequestToQueue",
+ Tag.REGION.toString(),
+ this.consensusGroupId)
+ .update(System.currentTimeMillis() - writeToStateMachineEndTime);
} else {
logger.debug(
"{}: write operation failed. searchIndex: {}. Code: {}",
@@ -193,6 +248,16 @@ public class MultiLeaderServerImpl {
indexedConsensusRequest.getSearchIndex(),
result.getCode());
}
+ // statistic the time of total write process
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "consensusWrite",
+ Tag.REGION.toString(),
+ this.consensusGroupId)
+ .update(System.currentTimeMillis() - consensusWriteStartTime);
return result;
} finally {
stateMachineLock.unlock();
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerMetrics.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerMetrics.java
new file mode 100644
index 0000000000..0f0a3a34a4
--- /dev/null
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/MultiLeaderServerMetrics.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.consensus.multileader;
+
+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.metrics.AbstractMetricService;
+import org.apache.iotdb.metrics.metricsets.IMetricSet;
+import org.apache.iotdb.metrics.utils.MetricLevel;
+import org.apache.iotdb.metrics.utils.MetricType;
+
+public class MultiLeaderServerMetrics implements IMetricSet {
+ private final MultiLeaderServerImpl impl;
+
+ public MultiLeaderServerMetrics(MultiLeaderServerImpl impl) {
+ this.impl = impl;
+ }
+
+ @Override
+ public void bindTo(AbstractMetricService metricService) {
+ MetricService.getInstance()
+ .getOrCreateAutoGauge(
+ Metric.MULTI_LEADER.toString(),
+ MetricLevel.CORE,
+ impl,
+ MultiLeaderServerImpl::getIndex,
+ Tag.NAME.toString(),
+ "multiLeaderServerImpl",
+ Tag.REGION.toString(),
+ impl.getThisNode().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "searchIndex");
+ MetricService.getInstance()
+ .getOrCreateAutoGauge(
+ Metric.MULTI_LEADER.toString(),
+ MetricLevel.CORE,
+ impl,
+ MultiLeaderServerImpl::getCurrentSafelyDeletedSearchIndex,
+ Tag.NAME.toString(),
+ "multiLeaderServerImpl",
+ Tag.REGION.toString(),
+ impl.getThisNode().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "safeIndex");
+ }
+
+ @Override
+ public void unbindFrom(AbstractMetricService metricService) {
+ MetricService.getInstance()
+ .remove(
+ MetricType.GAUGE,
+ Metric.MULTI_LEADER.toString(),
+ Tag.NAME.toString(),
+ "multiLeaderServerImpl",
+ Tag.REGION.toString(),
+ impl.getThisNode().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "searchIndex");
+ MetricService.getInstance()
+ .remove(
+ MetricType.GAUGE,
+ Metric.MULTI_LEADER.toString(),
+ Tag.NAME.toString(),
+ "multiLeaderServerImpl",
+ Tag.REGION.toString(),
+ impl.getThisNode().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "safeIndex");
+ }
+}
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
index 958ccd1fa0..0e4644aad4 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
@@ -19,9 +19,13 @@
package org.apache.iotdb.consensus.multileader.client;
+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.consensus.multileader.logdispatcher.LogDispatcher.LogDispatcherThread;
import org.apache.iotdb.consensus.multileader.logdispatcher.PendingBatch;
import org.apache.iotdb.consensus.multileader.thrift.TSyncLogRes;
+import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.thrift.async.AsyncMethodCallback;
@@ -36,11 +40,13 @@ public class DispatchLogHandler implements AsyncMethodCallback<TSyncLogRes> {
private final LogDispatcherThread thread;
private final PendingBatch batch;
+ private final long createTime;
private int retryCount;
public DispatchLogHandler(LogDispatcherThread thread, PendingBatch batch) {
this.thread = thread;
this.batch = batch;
+ this.createTime = System.currentTimeMillis();
}
@Override
@@ -58,6 +64,15 @@ public class DispatchLogHandler implements AsyncMethodCallback<TSyncLogRes> {
// update safely deleted search index after current sync index is updated by removeBatch
thread.updateSafelyDeletedSearchIndex();
}
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "syncLogTimePerRequest",
+ Tag.REGION.toString(),
+ this.thread.getPeer().getGroupId().toString())
+ .update((System.currentTimeMillis() - createTime) / batch.getBatches().size());
}
private boolean needRetry(int statusCode) {
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcher.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcher.java
index 4dedfbbfac..307fc141f7 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcher.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcher.java
@@ -22,6 +22,9 @@ package org.apache.iotdb.consensus.multileader.logdispatcher;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
+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.consensus.common.Peer;
import org.apache.iotdb.consensus.common.request.IConsensusRequest;
import org.apache.iotdb.consensus.common.request.IndexedConsensusRequest;
@@ -34,6 +37,7 @@ import org.apache.iotdb.consensus.multileader.thrift.TSyncLogReq;
import org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader;
import org.apache.iotdb.consensus.multileader.wal.GetConsensusReqReaderPlan;
import org.apache.iotdb.consensus.ratis.Utils;
+import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.thrift.TException;
import org.slf4j.Logger;
@@ -188,6 +192,8 @@ public class LogDispatcher {
private ConsensusReqReader.ReqIterator walEntryIterator;
+ private final LogDispatcherThreadMetrics metrics;
+
public LogDispatcherThread(Peer peer, MultiLeaderConfig config, long initialSyncIndex) {
this.peer = peer;
this.config = config;
@@ -200,6 +206,7 @@ public class LogDispatcher {
config.getReplication().getCheckpointGap());
this.syncStatus = new SyncStatus(controller, config);
this.walEntryIterator = reader.getReqIterator(START_INDEX);
+ this.metrics = new LogDispatcherThreadMetrics(this);
}
public IndexController getController() {
@@ -222,6 +229,10 @@ public class LogDispatcher {
return pendingRequest.size();
}
+ public int getBufferRequestSize() {
+ return bufferedRequest.size();
+ }
+
/** try to offer a request into queue with memory control */
public boolean offer(IndexedConsensusRequest indexedConsensusRequest) {
if (!multiLeaderMemoryManager.reserve(indexedConsensusRequest.getSerializedSize())) {
@@ -255,6 +266,7 @@ public class LogDispatcher {
for (IndexedConsensusRequest indexedConsensusRequest : bufferedRequest) {
multiLeaderMemoryManager.free(indexedConsensusRequest.getSerializedSize());
}
+ MetricService.getInstance().removeMetricSet(metrics);
}
public void cleanup() throws IOException {
@@ -268,9 +280,11 @@ public class LogDispatcher {
@Override
public void run() {
logger.info("{}: Dispatcher for {} starts", impl.getThisNode(), peer);
+ MetricService.getInstance().addMetricSet(metrics);
try {
PendingBatch batch;
while (!Thread.interrupted() && !stopped) {
+ long startTime = System.currentTimeMillis();
while ((batch = getBatch()).isEmpty()) {
// we may block here if there is no requests in the queue
IndexedConsensusRequest request =
@@ -283,6 +297,15 @@ public class LogDispatcher {
}
}
}
+ MetricService.getInstance()
+ .getOrCreateHistogram(
+ Metric.STAGE.toString(),
+ MetricLevel.CORE,
+ Tag.TYPE.toString(),
+ "constructBatch",
+ Tag.REGION.toString(),
+ peer.getGroupId().toString())
+ .update((System.currentTimeMillis() - startTime) / batch.getBatches().size());
// we may block here if the synchronization pipeline is full
syncStatus.addNextBatch(batch);
// sends batch asynchronously and migrates the retry logic into the callback handler
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcherThreadMetrics.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcherThreadMetrics.java
new file mode 100644
index 0000000000..cf11ff8d85
--- /dev/null
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/LogDispatcherThreadMetrics.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.consensus.multileader.logdispatcher;
+
+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.metrics.AbstractMetricService;
+import org.apache.iotdb.metrics.metricsets.IMetricSet;
+import org.apache.iotdb.metrics.utils.MetricLevel;
+import org.apache.iotdb.metrics.utils.MetricType;
+
+public class LogDispatcherThreadMetrics implements IMetricSet {
+ private final LogDispatcher.LogDispatcherThread logDispatcherThread;
+
+ public LogDispatcherThreadMetrics(LogDispatcher.LogDispatcherThread logDispatcherThread) {
+ this.logDispatcherThread = logDispatcherThread;
+ }
+
+ @Override
+ public void bindTo(AbstractMetricService metricService) {
+ MetricService.getInstance()
+ .getOrCreateAutoGauge(
+ Metric.MULTI_LEADER.toString(),
+ MetricLevel.IMPORTANT,
+ logDispatcherThread,
+ LogDispatcher.LogDispatcherThread::getCurrentSyncIndex,
+ Tag.NAME.toString(),
+ formatName(),
+ Tag.REGION.toString(),
+ logDispatcherThread.getPeer().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "currentSyncIndex");
+ MetricService.getInstance()
+ .getOrCreateAutoGauge(
+ Metric.MULTI_LEADER.toString(),
+ MetricLevel.IMPORTANT,
+ logDispatcherThread,
+ x -> x.getPendingRequestSize() + x.getBufferRequestSize(),
+ Tag.NAME.toString(),
+ formatName(),
+ Tag.REGION.toString(),
+ logDispatcherThread.getPeer().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "cachedRequestInMemoryQueue");
+ }
+
+ @Override
+ public void unbindFrom(AbstractMetricService metricService) {
+ MetricService.getInstance()
+ .remove(
+ MetricType.GAUGE,
+ Metric.MULTI_LEADER.toString(),
+ Tag.NAME.toString(),
+ formatName(),
+ Tag.REGION.toString(),
+ logDispatcherThread.getPeer().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "currentSyncIndex");
+ MetricService.getInstance()
+ .remove(
+ MetricType.GAUGE,
+ Metric.MULTI_LEADER.toString(),
+ Tag.NAME.toString(),
+ formatName(),
+ Tag.REGION.toString(),
+ logDispatcherThread.getPeer().getGroupId().toString(),
+ Tag.TYPE.toString(),
+ "cachedRequestInMemoryQueue");
+ }
+
+ private String formatName() {
+ return String.format(
+ "logDispatcher-%s:%s",
+ logDispatcherThread.getPeer().getEndpoint().getIp(),
+ logDispatcherThread.getPeer().getEndpoint().getPort());
+ }
+}
diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManager.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManager.java
index 4abfde8fd2..36c6c98b2b 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManager.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManager.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.consensus.multileader.logdispatcher;
+import org.apache.iotdb.commons.service.metric.MetricService;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,7 +31,9 @@ public class MultiLeaderMemoryManager {
private final AtomicLong memorySizeInByte = new AtomicLong(0);
private Long maxMemorySizeInByte = Runtime.getRuntime().maxMemory() / 10;
- private MultiLeaderMemoryManager() {}
+ private MultiLeaderMemoryManager() {
+ MetricService.getInstance().addMetricSet(new MultiLeaderMemoryManagerMetrics(this));
+ }
public boolean reserve(long size) {
synchronized (this) {
@@ -64,6 +68,10 @@ public class MultiLeaderMemoryManager {
this.maxMemorySizeInByte = maxMemorySize;
}
+ long getMemorySizeInByte() {
+ return memorySizeInByte.get();
+ }
+
private static final MultiLeaderMemoryManager INSTANCE = new MultiLeaderMemoryManager();
public static MultiLeaderMemoryManager getInstance() {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManagerMetrics.java
similarity index 58%
copy from server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
copy to consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManagerMetrics.java
index 64f40bb46a..326d3dc1ad 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/logdispatcher/MultiLeaderMemoryManagerMetrics.java
@@ -17,51 +17,36 @@
* under the License.
*/
-package org.apache.iotdb.db.engine.cache;
+package org.apache.iotdb.consensus.multileader.logdispatcher;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.metrics.utils.MetricType;
-import java.util.Objects;
+public class MultiLeaderMemoryManagerMetrics implements IMetricSet {
+ private final MultiLeaderMemoryManager multiLeaderMemoryManager;
-public class ChunkCacheMetrics implements IMetricSet {
- private ChunkCache chunkCache;
-
- public ChunkCacheMetrics(ChunkCache chunkCache) {
- this.chunkCache = chunkCache;
+ public MultiLeaderMemoryManagerMetrics(MultiLeaderMemoryManager multiLeaderMemoryManager) {
+ this.multiLeaderMemoryManager = multiLeaderMemoryManager;
}
@Override
public void bindTo(AbstractMetricService metricService) {
metricService.getOrCreateAutoGauge(
- Metric.CACHE_HIT.toString(),
- MetricLevel.IMPORTANT,
- chunkCache,
- o -> (long) o.getHitRate(),
+ Metric.MEM.toString(),
+ MetricLevel.CORE,
+ multiLeaderMemoryManager,
+ MultiLeaderMemoryManager::getMemorySizeInByte,
Tag.NAME.toString(),
- "chunk");
+ "MultiLeaderConsensus");
}
@Override
public void unbindFrom(AbstractMetricService metricService) {
metricService.remove(
- MetricType.GAUGE, Metric.CACHE_HIT.toString(), Tag.NAME.toString(), "chunk");
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- ChunkCacheMetrics that = (ChunkCacheMetrics) o;
- return Objects.equals(chunkCache, that.chunkCache);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(chunkCache);
+ MetricType.GAUGE, Metric.MEM.toString(), Tag.NAME.toString(), "MultiLeaderConsensus");
}
}
diff --git a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
index 74c3fce64b..a3ed1f94da 100644
--- a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -137,7 +137,6 @@ Next, we will choose Prometheus format data as samples to describe each kind of
| slot | name="{{storageGroupName}}",type="schemaSlotNumber/dataSlotNumber" | normal | The number of dataSlot/schemaSlot in storage group | slot{name="root.schema.sg1",type="schemaSlotNumber",} 2.0 |
### 1.3.4. IoTDB PreDefined Metrics Set
-Users can modify the value of `predefinedMetrics` in the `iotdb-metric.yml` file to enable the predefined set of metrics,now support `JVM`, `LOGBACK`, `FILE`, `PROCESS`, `SYSYTEM`.
#### 1.3.4.1. JVM
@@ -260,11 +259,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9091
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
index 1efabf02a0..07d50d4d9e 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -135,8 +135,6 @@ IoTDB对外提供JMX和Prometheus格式的监控指标,对于JMX,可以通
### 1.3.4. IoTDB 预定义指标集
-用户可以在`iotdb-metric.yml`文件中,修改`predefinedMetrics`的值来启用预定义指标集,目前有`JVM`、`LOGBACK`、`FILE`、`PROCESS`、`SYSYTEM`这五种。
-
#### 1.3.4.1. JVM
##### 1.3.4.1.1. 线程
@@ -259,11 +257,6 @@ monitorType: MICROMETER
# 初始化metric的级别,可选参数: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# 预定义的指标集, 可选参数: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# Prometheus Reporter 使用的端口
prometheusExporterPort: 9091
diff --git a/integration-test/src/test/resources/logback-test.xml b/integration-test/src/test/resources/logback-test.xml
index 433fffc0f5..fd59509b34 100644
--- a/integration-test/src/test/resources/logback-test.xml
+++ b/integration-test/src/test/resources/logback-test.xml
@@ -44,7 +44,7 @@
<logger name="org.apache.iotdb.db.engine.merge" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.ThriftServiceThread" level="INFO"/>
<logger name="org.eclipse.jetty.util.thread.QueuedThreadPool" level="INFO"/>
- <logger name="org.apache.iotdb.db.service.metrics.MetricService" level="INFO"/>
+ <logger name="org.apache.iotdb.commons.service.metric.MetricService" level="INFO"/>
<logger name="org.apache.iotdb.db.engine.flush.FlushManager" level="INFO"/>
<logger name="org.apache.iotdb.db.integration.IoTDBCompactionIT" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.RegisterManager" level="INFO"/>
diff --git a/integration/src/test/resources/logback-test.xml b/integration/src/test/resources/logback-test.xml
index a5ec897bb8..c757a1d100 100644
--- a/integration/src/test/resources/logback-test.xml
+++ b/integration/src/test/resources/logback-test.xml
@@ -44,7 +44,7 @@
<logger name="org.apache.iotdb.db.engine.merge" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.ThriftServiceThread" level="INFO"/>
<logger name="org.eclipse.jetty.util.thread.QueuedThreadPool" level="INFO"/>
- <logger name="org.apache.iotdb.db.service.metrics.MetricService" level="INFO"/>
+ <logger name="org.apache.iotdb.commons.service.metric.MetricService" level="INFO"/>
<logger name="org.apache.iotdb.db.engine.flush.FlushManager" level="INFO"/>
<logger name="org.apache.iotdb.db.integration.IoTDBCompactionIT" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.RegisterManager" level="INFO"/>
diff --git a/metrics/ReadMe.md b/metrics/ReadMe.md
index 74147f5b16..81b7305946 100644
--- a/metrics/ReadMe.md
+++ b/metrics/ReadMe.md
@@ -55,7 +55,7 @@ Metric Module
4. MetricService
1. Provide the start and stop method of metric service.
2. Provide the ability to reload properties when running.
- 3. Provide the ability to load predefined metric sets.
+ 3. Provide the ability to load metric sets.
4. Provide the access of metricManager and CompositeReporter.
# 2. Test Report
@@ -105,7 +105,6 @@ System.setProperty("IOTDB_CONF", "metrics/dropwizard-metrics/src/test/resources"
| metricReporterList | the list of reporter | JMX, PROMETHEUS, IOTDB |
| monitorType | The type of metric manager | DROPWIZARD, MICROMETER |
| metricLevel | the init level of metrics | ALL, NORMAL, IMPORTANT, CORE |
-| predefinedMetrics | predefined set of metrics | JVM, LOGBACK, FILE, PROCESS, SYSTEM |
| asyncCollectPeriodInSecond | The period of the collection of some metrics in asynchronous way, such as tsfile size. | 5 |
| pushPeriodInSecond | the period time of push(used for prometheus, unit: s) | 5 |
@@ -119,8 +118,7 @@ MetricService.getInstance().count(1, "operation_count", MetricLevel.IMPORTANT, "
# 4. How to implement your own metric framework?
1. implement your MetricService
- 1. You need to implement `enablePredefinedMetrics` to load predefined metrics.
- 2. You need to implement `reloadProperties` to reload properties when running.
+ 1. You need to implement `reloadProperties` to reload properties when running.
2. implement your MetricManager
1. The name of MetricManager should start with `monitorType`, MetricService will init manager according to the prefix of class name.
2. You need to create `src/main/resources/META-INF/services/org.apache.iotdb.metrics.AbstractMetricManager`,and record your MetricManager class name in this file, such as `org.apache.iotdb.metrics.dropwizard.DropwizardMetricManager`
@@ -131,9 +129,6 @@ MetricService.getInstance().count(1, "operation_count", MetricLevel.IMPORTANT, "
4. implement your specific metric
1. They are counter, gauge, histogram, histogramSnapshot, rate and timer.
2. These metrics will be managed by your MetricManager, and reported by your reporter.
-5. extends preDefinedMetric module:
- 1. you can add value into `metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/PredefinedMetric`, such as `System` and `Thread`.
- 2. then you need to fix the implementation of `enablePredefinedMetric(PredefinedMetric metric)` in your manager.
# 5. Some docs
1. <a href = "https://iotdb.apache.org/UserGuide/Master/Maintenance-Tools/Metric-Tool.html">Metric Tool</a>
diff --git a/metrics/interface/src/main/assembly/resources/conf/iotdb-confignode-metric.yml b/metrics/interface/src/main/assembly/resources/conf/iotdb-confignode-metric.yml
index 92f33c27f1..af1c039d9e 100644
--- a/metrics/interface/src/main/assembly/resources/conf/iotdb-confignode-metric.yml
+++ b/metrics/interface/src/main/assembly/resources/conf/iotdb-confignode-metric.yml
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The period of the collection of some metrics in asynchronous way, such as tsfile size.
asyncCollectPeriodInSecond: 5
diff --git a/metrics/interface/src/main/assembly/resources/conf/iotdb-datanode-metric.yml b/metrics/interface/src/main/assembly/resources/conf/iotdb-datanode-metric.yml
index 92f33c27f1..af1c039d9e 100644
--- a/metrics/interface/src/main/assembly/resources/conf/iotdb-datanode-metric.yml
+++ b/metrics/interface/src/main/assembly/resources/conf/iotdb-datanode-metric.yml
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The period of the collection of some metrics in asynchronous way, such as tsfile size.
asyncCollectPeriodInSecond: 5
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/AbstractMetricService.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/AbstractMetricService.java
index 30f13c5198..eac64480ae 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/AbstractMetricService.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/AbstractMetricService.java
@@ -24,7 +24,6 @@ import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
import org.apache.iotdb.metrics.config.ReloadLevel;
import org.apache.iotdb.metrics.impl.DoNothingMetricManager;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
-import org.apache.iotdb.metrics.metricsets.predefined.PredefinedMetric;
import org.apache.iotdb.metrics.reporter.CompositeReporter;
import org.apache.iotdb.metrics.reporter.Reporter;
import org.apache.iotdb.metrics.type.Counter;
@@ -44,7 +43,6 @@ import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.ToLongFunction;
/** MetricService is the entry to get all metric features. */
@@ -53,8 +51,6 @@ public abstract class AbstractMetricService {
private static final Logger logger = LoggerFactory.getLogger(AbstractMetricService.class);
/** The config of metric service */
private final MetricConfig metricConfig = MetricConfigDescriptor.getInstance().getMetricConfig();
- /** Is the first initialization of metric service */
- protected AtomicBoolean isFirstInitialization = new AtomicBoolean(true);
/** The metric manager of metric service */
protected AbstractMetricManager metricManager = new DoNothingMetricManager();
/** The metric reporter of metric service */
@@ -102,10 +98,6 @@ public abstract class AbstractMetricService {
loadReporter();
// do start all reporter without first time
startAllReporter();
- logger.info("Start predefined metrics: {}", metricConfig.getPredefinedMetrics());
- for (PredefinedMetric predefinedMetric : metricConfig.getPredefinedMetrics()) {
- enablePredefinedMetrics(predefinedMetric);
- }
}
/** stop metric core module */
@@ -161,9 +153,6 @@ public abstract class AbstractMetricService {
}
}
- /** Enable predefined Metrics */
- protected abstract void enablePredefinedMetrics(PredefinedMetric metric);
-
/** Reload metric service according to reloadLevel */
protected abstract void reloadProperties(ReloadLevel reloadLevel);
@@ -296,4 +285,12 @@ public abstract class AbstractMetricService {
metricSets.add(metricSet);
}
}
+
+ /** remove metrics */
+ public void removeMetricSet(IMetricSet metricSet) {
+ if (metricSets.contains(metricSet)) {
+ metricSet.unbindFrom(this);
+ metricSets.remove(metricSet);
+ }
+ }
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/DoNothingMetricService.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/DoNothingMetricService.java
index b6e4baf066..7e73ac0536 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/DoNothingMetricService.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/DoNothingMetricService.java
@@ -20,15 +20,9 @@
package org.apache.iotdb.metrics;
import org.apache.iotdb.metrics.config.ReloadLevel;
-import org.apache.iotdb.metrics.metricsets.predefined.PredefinedMetric;
public class DoNothingMetricService extends AbstractMetricService {
- @Override
- public void enablePredefinedMetrics(PredefinedMetric metric) {
- // do nothing
- }
-
@Override
protected void reloadProperties(ReloadLevel reloadLevel) {
// do nothing
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java
index 1b5a625b8f..ed32ca72a9 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfig.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.metrics.config;
-import org.apache.iotdb.metrics.metricsets.predefined.PredefinedMetric;
import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.metrics.utils.MonitorType;
import org.apache.iotdb.metrics.utils.ReporterType;
@@ -45,10 +44,6 @@ public class MetricConfig {
/** The level of metric service */
private MetricLevel metricLevel = MetricLevel.IMPORTANT;
- /** The list of predefined metrics in metric service */
- private List<PredefinedMetric> predefinedMetrics =
- Arrays.asList(PredefinedMetric.JVM, PredefinedMetric.FILE);
-
private Integer asyncCollectPeriodInSecond = 5;
/** The http server's port for prometheus reporter to get metric data. */
@@ -162,7 +157,6 @@ public class MetricConfig {
monitorType = newMetricConfig.getMonitorType();
metricReporterList = newMetricConfig.getMetricReporterList();
metricLevel = newMetricConfig.getMetricLevel();
- predefinedMetrics = newMetricConfig.getPredefinedMetrics();
asyncCollectPeriodInSecond = newMetricConfig.getAsyncCollectPeriodInSecond();
prometheusExporterPort = newMetricConfig.getPrometheusExporterPort();
ioTDBReporterConfig = newMetricConfig.ioTDBReporterConfig;
@@ -213,14 +207,6 @@ public class MetricConfig {
this.metricLevel = metricLevel;
}
- public List<PredefinedMetric> getPredefinedMetrics() {
- return predefinedMetrics;
- }
-
- public void setPredefinedMetrics(List<PredefinedMetric> predefinedMetrics) {
- this.predefinedMetrics = predefinedMetrics;
- }
-
public Integer getAsyncCollectPeriodInSecond() {
return asyncCollectPeriodInSecond;
}
@@ -263,7 +249,6 @@ public class MetricConfig {
&& monitorType.equals(anotherMetricConfig.getMonitorType())
&& metricReporterList.equals(anotherMetricConfig.getMetricReporterList())
&& metricLevel.equals(anotherMetricConfig.getMetricLevel())
- && predefinedMetrics.equals(anotherMetricConfig.getPredefinedMetrics())
&& asyncCollectPeriodInSecond.equals(anotherMetricConfig.getAsyncCollectPeriodInSecond())
&& prometheusExporterPort.equals(anotherMetricConfig.getPrometheusExporterPort())
&& ioTDBReporterConfig.equals(anotherMetricConfig.getIoTDBReporterConfig());
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfigDescriptor.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfigDescriptor.java
index f27b8fb0b1..e7489dd7be 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfigDescriptor.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/config/MetricConfigDescriptor.java
@@ -87,7 +87,6 @@ public class MetricConfigDescriptor {
// restart reporters or restart service
if (!metricConfig.getMonitorType().equals(newMetricConfig.getMonitorType())
|| !metricConfig.getMetricLevel().equals(newMetricConfig.getMetricLevel())
- || !metricConfig.getPredefinedMetrics().equals(newMetricConfig.getPredefinedMetrics())
|| !metricConfig
.getAsyncCollectPeriodInSecond()
.equals(newMetricConfig.getAsyncCollectPeriodInSecond())) {
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmClassLoaderMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmClassLoaderMetrics.java
similarity index 97%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmClassLoaderMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmClassLoaderMetrics.java
index daa7cf5206..8ddbe4e1cd 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmClassLoaderMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmClassLoaderMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmCompileMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmCompileMetrics.java
similarity index 97%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmCompileMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmCompileMetrics.java
index fcf8801983..718656fc75 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmCompileMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmCompileMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmGcMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmGcMetrics.java
similarity index 99%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmGcMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmGcMetrics.java
index 703f3b1e32..e90b0841cd 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmGcMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmGcMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMemoryMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMemoryMetrics.java
similarity index 98%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMemoryMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMemoryMetrics.java
index da13ef12ac..2589ded844 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMemoryMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMemoryMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMetrics.java
similarity index 96%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMetrics.java
index 0d63d6a3a9..5eb3414211 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmThreadMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmThreadMetrics.java
similarity index 98%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmThreadMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmThreadMetrics.java
index f0a5cd8b7d..79d6e4ed19 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmThreadMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmThreadMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmUtils.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmUtils.java
similarity index 96%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmUtils.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmUtils.java
index 79a7b4a54c..e0cf1a647b 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmUtils.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/jvm/JvmUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.jvm;
+package org.apache.iotdb.metrics.metricsets.jvm;
import java.lang.management.MemoryPoolMXBean;
import java.lang.management.MemoryUsage;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/LogbackMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/LogbackMetrics.java
similarity index 98%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/LogbackMetrics.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/LogbackMetrics.java
index 94464699c0..6790c31b6c 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/LogbackMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/LogbackMetrics.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.logback;
+package org.apache.iotdb.metrics.metricsets.logback;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/MetricsTurboFilter.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/MetricsTurboFilter.java
similarity index 98%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/MetricsTurboFilter.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/MetricsTurboFilter.java
index 173ea3b5e7..a569226533 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/MetricsTurboFilter.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/logback/MetricsTurboFilter.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.metrics.metricsets.predefined.logback;
+package org.apache.iotdb.metrics.metricsets.logback;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.type.Counter;
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/PredefinedMetric.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/PredefinedMetric.java
deleted file mode 100644
index c520afc1f0..0000000000
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/PredefinedMetric.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.iotdb.metrics.metricsets.predefined;
-
-public enum PredefinedMetric {
- JVM,
- LOGBACK,
- FILE,
- PROCESS,
- SYSTEM;
-
- @Override
- public String toString() {
- return name();
- }
-}
diff --git a/metrics/interface/src/test/java/org/apache/iotdb/metrics/config/MetricConfigTest.java b/metrics/interface/src/test/java/org/apache/iotdb/metrics/config/MetricConfigTest.java
index 065347f2ef..2906544f86 100644
--- a/metrics/interface/src/test/java/org/apache/iotdb/metrics/config/MetricConfigTest.java
+++ b/metrics/interface/src/test/java/org/apache/iotdb/metrics/config/MetricConfigTest.java
@@ -56,7 +56,6 @@ public class MetricConfigTest {
assertEquals(3, metricConfig.getMetricReporterList().size());
assertEquals(MonitorType.DROPWIZARD, metricConfig.getMonitorType());
assertEquals(MetricLevel.ALL, metricConfig.getMetricLevel());
- assertEquals(5, metricConfig.getPredefinedMetrics().size());
assertEquals(10, (int) metricConfig.getAsyncCollectPeriodInSecond());
assertEquals(9090, (int) metricConfig.getPrometheusExporterPort());
diff --git a/metrics/interface/src/test/resources/iotdb-metric.yml b/metrics/interface/src/test/resources/iotdb-metric.yml
index e84ec80bdb..a59aa56086 100644
--- a/metrics/interface/src/test/resources/iotdb-metric.yml
+++ b/metrics/interface/src/test/resources/iotdb-metric.yml
@@ -35,14 +35,6 @@ monitorType: DROPWIZARD
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: ALL
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - LOGBACK
- - FILE
- - PROCESS
- - SYSTEM
-
# The period of the collection of some metrics in asynchronous way, such as tsfile size.
asyncCollectPeriodInSecond: 10
diff --git a/node-commons/pom.xml b/node-commons/pom.xml
index 9c3dbecd50..81e1471f23 100644
--- a/node-commons/pom.xml
+++ b/node-commons/pom.xml
@@ -127,6 +127,22 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>micrometer-metrics</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>dropwizard-metrics</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricService.java b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricService.java
similarity index 76%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/MetricService.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricService.java
index 1a998004fd..31d7659c16 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricService.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricService.java
@@ -17,22 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.service.metrics;
+package org.apache.iotdb.commons.service.metric;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.IService;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.ServiceType;
-import org.apache.iotdb.db.service.metrics.predefined.FileMetrics;
-import org.apache.iotdb.db.service.metrics.predefined.ProcessMetrics;
-import org.apache.iotdb.db.service.metrics.predefined.SystemMetrics;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.config.ReloadLevel;
-import org.apache.iotdb.metrics.metricsets.IMetricSet;
-import org.apache.iotdb.metrics.metricsets.predefined.PredefinedMetric;
-import org.apache.iotdb.metrics.metricsets.predefined.jvm.JvmMetrics;
-import org.apache.iotdb.metrics.metricsets.predefined.logback.LogbackMetrics;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,32 +69,6 @@ public class MetricService extends AbstractMetricService implements MetricServic
}
}
- @Override
- public void enablePredefinedMetrics(PredefinedMetric metric) {
- IMetricSet metricSet;
- switch (metric) {
- case JVM:
- metricSet = new JvmMetrics();
- break;
- case LOGBACK:
- metricSet = new LogbackMetrics();
- break;
- case FILE:
- metricSet = new FileMetrics();
- break;
- case PROCESS:
- metricSet = new ProcessMetrics();
- break;
- case SYSTEM:
- metricSet = new SystemMetrics();
- break;
- default:
- logger.error("Unknown predefined metrics: {}", metric);
- return;
- }
- metricSet.bindTo(this);
- }
-
@Override
public void reloadProperties(ReloadLevel reloadLevel) {
logger.info("Reload properties of metric service");
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricServiceMBean.java
similarity index 95%
copy from server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java
copy to node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricServiceMBean.java
index b65b5690d3..6b8f329a82 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/MetricServiceMBean.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.service.metrics;
+package org.apache.iotdb.commons.service.metric;
import org.apache.iotdb.commons.exception.StartupException;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
index 74ac14bd32..b1f8a316e6 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Metric.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.enums;
+package org.apache.iotdb.commons.service.metric.enums;
public enum Metric {
ENTRY,
@@ -28,15 +28,12 @@ public enum Metric {
MEM,
CACHE,
CACHE_HIT,
- ERROR_LOG,
QUANTITY,
DATA_WRITTEN,
DATA_READ,
COMPACTION_TASK_COUNT,
CLUSTER_NODE_STATUS,
CLUSTER_NODE_LEADER_COUNT,
- CLUSTER_ELECT,
- CLUSTER_UNCOMMITTED_LOG,
PROCESS_CPU_LOAD,
PROCESS_CPU_TIME,
PROCESS_MAX_MEM,
@@ -61,7 +58,9 @@ public enum Metric {
REGION,
SLOT,
THRIFT_CONNECTIONS,
- THRIFT_ACTIVE_THREADS;
+ THRIFT_ACTIVE_THREADS,
+ MULTI_LEADER,
+ STAGE;
@Override
public String toString() {
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Operation.java b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Operation.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Operation.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Operation.java
index 365c74be4c..fa6570e2eb 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Operation.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Operation.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.enums;
+package org.apache.iotdb.commons.service.metric.enums;
public enum Operation {
EXECUTE_JDBC_BATCH("EXECUTE_JDBC_BATCH"),
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Tag.java b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Tag.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Tag.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Tag.java
index cb2db3a578..1b02b0161c 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Tag.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/service/metric/enums/Tag.java
@@ -17,11 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.enums;
+package org.apache.iotdb.commons.service.metric.enums;
public enum Tag {
TYPE,
NAME,
+ REGION,
STATUS;
@Override
diff --git a/server/pom.xml b/server/pom.xml
index 9d29b53919..31d8ef3587 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -209,16 +209,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.iotdb</groupId>
- <artifactId>micrometer-metrics</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.iotdb</groupId>
- <artifactId>dropwizard-metrics</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 16a2890956..06522791d1 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -175,11 +175,6 @@ public class IoTDBConfig {
/** Write mode of wal */
private volatile WALMode walMode = WALMode.ASYNC;
- /** WAL directories */
- private String[] walDirs = {
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator + IoTDBConstant.WAL_FOLDER_NAME
- };
-
/** Max number of wal nodes, each node corresponds to one wal directory */
private int maxWalNodesNum = 0;
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index cd88259b8f..5d4035f300 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -22,6 +22,7 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.BadNodeUrlException;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.utils.NodeUrlUtils;
import org.apache.iotdb.confignode.rpc.thrift.TGlobalConfig;
import org.apache.iotdb.confignode.rpc.thrift.TRatisConfig;
@@ -38,7 +39,6 @@ import org.apache.iotdb.db.exception.BadNodeUrlFormatException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.qp.utils.DateTimeUtils;
import org.apache.iotdb.db.rescon.SystemInfo;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.db.utils.datastructure.TVListSortAlgorithm;
import org.apache.iotdb.db.wal.WALManager;
import org.apache.iotdb.db.wal.utils.WALMode;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java b/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
index 883e59f300..ee90a60ed3 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
@@ -19,13 +19,12 @@
package org.apache.iotdb.db.engine;
+import org.apache.iotdb.db.service.metrics.FileMetrics;
+
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
-/**
- * This class collect the number and size of tsfile, and send it to the {@link
- * org.apache.iotdb.db.service.metrics.predefined.FileMetrics}
- */
+/** This class collect the number and size of tsfile, and send it to the {@link FileMetrics} */
public class TsFileMetricManager {
private static final TsFileMetricManager INSTANCE = new TsFileMetricManager();
private AtomicLong seqFileSize = new AtomicLong(0);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java
index bac3869e6c..0fa63a5fdf 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.engine.cache;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.query.control.FileReaderManager;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
import org.apache.iotdb.tsfile.read.common.Chunk;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
index 64f40bb46a..038ed0827e 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.engine.cache;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
index b64e3541d4..675225a9d1 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.engine.cache;
import org.apache.iotdb.commons.conf.IoTDBConstant;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.query.control.FileReaderManager;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCacheMetrics.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCacheMetrics.java
index d7344b7687..01a32827bb 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCacheMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCacheMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.engine.cache;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
index dcf31495b0..5f2a304eab 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManager.java
@@ -24,12 +24,12 @@ import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.IService;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.ServiceType;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.flush.pool.FlushSubTaskPoolManager;
import org.apache.iotdb.db.engine.flush.pool.FlushTaskPoolManager;
import org.apache.iotdb.db.engine.storagegroup.TsFileProcessor;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManagerMetrics.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManagerMetrics.java
index 3e69678b67..c046887065 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManagerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManagerMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.engine.flush;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
index 2653d67eac..6e50754e16 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
@@ -18,6 +18,9 @@
*/
package org.apache.iotdb.db.engine.flush;
+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.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.flush.pool.FlushSubTaskPoolManager;
@@ -27,9 +30,6 @@ import org.apache.iotdb.db.engine.memtable.IWritableMemChunkGroup;
import org.apache.iotdb.db.exception.runtime.FlushRunTimeException;
import org.apache.iotdb.db.metadata.idtable.entry.IDeviceID;
import org.apache.iotdb.db.rescon.SystemInfo;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.tsfile.write.chunk.IChunkWriter;
import org.apache.iotdb.tsfile.write.writer.RestorableTsFileIOWriter;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
index 05938e4d74..2f2379f16e 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
@@ -20,6 +20,9 @@ package org.apache.iotdb.db.engine.memtable;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
+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.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.flush.FlushStatus;
import org.apache.iotdb.db.engine.flush.NotifyFlushMemTable;
@@ -34,9 +37,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertRowNode;
import org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertTabletNode;
import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.db.utils.MemUtils;
import org.apache.iotdb.db.wal.buffer.IWALByteBufferView;
import org.apache.iotdb.db.wal.utils.WALWriteUtils;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index 240ea4e686..38e30cba35 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -29,6 +29,7 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.file.SystemFileFactory;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.consensus.ConsensusFactory;
import org.apache.iotdb.db.conf.IoTDBConfig;
@@ -87,7 +88,6 @@ import org.apache.iotdb.db.query.control.QueryFileManager;
import org.apache.iotdb.db.rescon.TsFileResourceManager;
import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.db.service.SettleService;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.sync.sender.manager.ISyncManager;
import org.apache.iotdb.db.tools.settle.TsFileAndModSettleTool;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegionMetrics.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegionMetrics.java
index 866b5cea32..9a86e3ca2e 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegionMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegionMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.engine.storagegroup;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfo.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfo.java
index 502f379641..80f61bc86a 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfo.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfo.java
@@ -18,7 +18,7 @@
*/
package org.apache.iotdb.db.engine.storagegroup;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
/** The TsFileProcessorInfo records the memory cost of this TsFileProcessor. */
public class TsFileProcessorInfo {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfoMetrics.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfoMetrics.java
index 866068d936..30e9860a5f 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfoMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfoMetrics.java
@@ -18,9 +18,9 @@
*/
package org.apache.iotdb.db.engine.storagegroup;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+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.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCache.java b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCache.java
index e56b5b8612..bec73aeda7 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCache.java
@@ -21,11 +21,11 @@ package org.apache.iotdb.db.metadata.cache;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.mpp.common.schematree.ClusterSchemaTree;
import org.apache.iotdb.db.mpp.common.schematree.ISchemaTree;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.tsfile.read.TimeValuePair;
import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCacheMetrics.java b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCacheMetrics.java
index 5cf6d4111b..aa8c7bb066 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCacheMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCacheMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.metadata.cache;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java
index b1f6f11a56..8f95c73ad7 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaResourceManager.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.metadata.rescon;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.metadata.mtree.store.disk.MTreeFlushTaskManager;
import org.apache.iotdb.db.metadata.mtree.store.disk.MTreeReleaseTaskManager;
import org.apache.iotdb.db.metadata.mtree.store.disk.memcontrol.MemManagerHolder;
import org.apache.iotdb.db.metadata.schemaregion.SchemaEngineMode;
-import org.apache.iotdb.db.service.metrics.MetricService;
public class SchemaResourceManager {
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaStatisticsManagerMetrics.java b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaStatisticsManagerMetrics.java
index 7d2e2a3e29..ac1b30dbb7 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaStatisticsManagerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaStatisticsManagerMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.metadata.rescon;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeService.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeService.java
index 09d3d3e54b..f1ee4b6438 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeService.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeService.java
@@ -29,11 +29,11 @@ import org.apache.iotdb.commons.exception.runtime.RPCServiceException;
import org.apache.iotdb.commons.service.ServiceType;
import org.apache.iotdb.commons.service.ThriftService;
import org.apache.iotdb.commons.service.ThriftServiceThread;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.client.DataNodeClientPoolFactory;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.mpp.execution.memory.LocalMemoryManager;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.mpp.rpc.thrift.MPPDataExchangeService.Processor;
import org.slf4j.Logger;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceMetrics.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceMetrics.java
index 7d87b402c5..b97fe91149 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceMetrics.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.db.mpp.execution.exchange;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.service.AbstractThriftServiceThread;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceThriftHandler.java
index 4321320974..d4232a7aa7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceThriftHandler.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.mpp.execution.exchange;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MppDataExchangeServiceThriftHandlerMetrics.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MppDataExchangeServiceThriftHandlerMetrics.java
index e86c909ee1..85483dd8fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MppDataExchangeServiceThriftHandlerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MppDataExchangeServiceThriftHandlerMetrics.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.mpp.execution.exchange;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+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.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManager.java b/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManager.java
index 92cae2641c..a58ecf3dea 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManager.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.query.pool;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
import org.apache.iotdb.commons.concurrent.ThreadName;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.rescon.AbstractPoolManager;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManagerMetrics.java b/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManagerMetrics.java
index db51dfbd6e..aad1440521 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManagerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManagerMetrics.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.query.pool;
import org.apache.iotdb.commons.concurrent.ThreadName;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
index fd6b215800..da94af0a18 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.RegisterManager;
import org.apache.iotdb.commons.service.StartupChecks;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.trigger.TriggerInformation;
import org.apache.iotdb.commons.trigger.exception.TriggerManagementException;
import org.apache.iotdb.commons.trigger.service.TriggerExecutableManager;
@@ -68,7 +69,7 @@ import org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler;
import org.apache.iotdb.db.protocol.mpprest.MPPRestService;
import org.apache.iotdb.db.service.basic.ServiceProvider;
import org.apache.iotdb.db.service.basic.StandaloneServiceProvider;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.db.service.metrics.DataNodeMetricsHelper;
import org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl;
import org.apache.iotdb.db.service.thrift.impl.DataNodeRegionManager;
import org.apache.iotdb.db.sync.SyncService;
@@ -361,6 +362,8 @@ public class DataNode implements DataNodeMBean {
registerManager.register(MetricService.getInstance());
registerManager.register(CompactionTaskManager.getInstance());
+ // bind predefined metrics
+ DataNodeMetricsHelper.bind();
}
/** set up RPC and protocols after DataNode is available */
diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCService.java b/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCService.java
index f0f7e941db..915ba071b9 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCService.java
@@ -24,9 +24,9 @@ import org.apache.iotdb.commons.exception.runtime.RPCServiceException;
import org.apache.iotdb.commons.service.ServiceType;
import org.apache.iotdb.commons.service.ThriftService;
import org.apache.iotdb.commons.service.ThriftServiceThread;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.db.service.thrift.handler.InternalServiceThriftHandler;
import org.apache.iotdb.db.service.thrift.impl.DataNodeInternalRPCServiceImpl;
import org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService.Processor;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCServiceMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCServiceMetrics.java
index a6727223e5..9cbef97bd1 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCServiceMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCServiceMetrics.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.db.service;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.service.AbstractThriftServiceThread;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index 990eace370..8b9c57d783 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.RegisterManager;
import org.apache.iotdb.commons.service.StartupChecks;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.udf.service.UDFClassLoaderManager;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
@@ -46,7 +47,7 @@ import org.apache.iotdb.db.rescon.PrimitiveArrayManager;
import org.apache.iotdb.db.rescon.SystemInfo;
import org.apache.iotdb.db.service.basic.ServiceProvider;
import org.apache.iotdb.db.service.basic.StandaloneServiceProvider;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.db.service.metrics.DataNodeMetricsHelper;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.wal.WALManager;
@@ -179,6 +180,8 @@ public class IoTDB implements IoTDBMBean {
registerManager.register(TriggerRegistrationService.getInstance());
registerManager.register(ContinuousQueryService.getInstance());
registerManager.register(MetricService.getInstance());
+ // bind predefined metrics
+ DataNodeMetricsHelper.bind();
logger.info("IoTDB configuration: " + config.getConfigMessage());
logger.info("Congratulation, IoTDB is set up successfully. Now, enjoy yourself!");
diff --git a/server/src/main/java/org/apache/iotdb/db/service/NewIoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/NewIoTDB.java
index 03ab7e10dd..86d4f2840b 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/NewIoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/NewIoTDB.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.commons.exception.StartupException;
import org.apache.iotdb.commons.service.JMXService;
import org.apache.iotdb.commons.service.RegisterManager;
import org.apache.iotdb.commons.service.StartupChecks;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.udf.service.UDFClassLoaderManager;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
@@ -45,7 +46,7 @@ import org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler;
import org.apache.iotdb.db.protocol.mpprest.MPPRestService;
import org.apache.iotdb.db.rescon.PrimitiveArrayManager;
import org.apache.iotdb.db.rescon.SystemInfo;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.db.service.metrics.DataNodeMetricsHelper;
import org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.wal.WALManager;
@@ -168,6 +169,8 @@ public class NewIoTDB implements NewIoTDBMBean {
registerManager.register(ContinuousQueryService.getInstance());
registerManager.register(MetricService.getInstance());
registerManager.register(CompactionTaskManager.getInstance());
+ // bind predefined metrics
+ DataNodeMetricsHelper.bind();
logger.info("IoTDB configuration: " + config.getConfigMessage());
logger.info("Congratulation, IoTDB is set up successfully. Now, enjoy yourself!");
diff --git a/server/src/main/java/org/apache/iotdb/db/service/RPCService.java b/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
index 05e68f16bd..2697f99fc9 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.commons.exception.runtime.RPCServiceException;
import org.apache.iotdb.commons.service.ServiceType;
import org.apache.iotdb.commons.service.ThriftService;
import org.apache.iotdb.commons.service.ThriftServiceThread;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.service.metrics.MetricService;
import org.apache.iotdb.db.service.thrift.ProcessorWithMetrics;
import org.apache.iotdb.db.service.thrift.handler.RPCServiceThriftHandler;
import org.apache.iotdb.db.service.thrift.impl.IClientRPCServiceWithHandler;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceMetrics.java
index ef9435a1bf..b6f76636f7 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceMetrics.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.db.service;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.service.AbstractThriftServiceThread;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
similarity index 50%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java
rename to server/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
index b65b5690d3..f37634e107 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/MetricServiceMBean.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
@@ -16,15 +16,24 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.service.metrics;
-
-import org.apache.iotdb.commons.exception.StartupException;
-public interface MetricServiceMBean {
-
- void startService() throws StartupException;
+package org.apache.iotdb.db.service.metrics;
- void restartService() throws StartupException;
+import org.apache.iotdb.commons.service.metric.MetricService;
+import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
+import org.apache.iotdb.metrics.metricsets.jvm.JvmMetrics;
+import org.apache.iotdb.metrics.metricsets.logback.LogbackMetrics;
- void stopService();
+public class DataNodeMetricsHelper {
+ /** Bind predefined metric sets into DataNode */
+ public static void bind() {
+ if (MetricConfigDescriptor.getInstance().getMetricConfig().getEnableMetric()) {
+ // bind predefined metric sets
+ MetricService.getInstance().addMetricSet(new JvmMetrics());
+ MetricService.getInstance().addMetricSet(new LogbackMetrics());
+ MetricService.getInstance().addMetricSet(new FileMetrics());
+ MetricService.getInstance().addMetricSet(new ProcessMetrics());
+ MetricService.getInstance().addMetricSet(new SystemMetrics());
+ }
+ }
}
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/FileMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/FileMetrics.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/FileMetrics.java
rename to server/src/main/java/org/apache/iotdb/db/service/metrics/FileMetrics.java
index 8ebb8f130c..f5e2779a53 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/FileMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/FileMetrics.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.predefined;
+package org.apache.iotdb.db.service.metrics;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
import org.apache.iotdb.commons.conf.CommonDescriptor;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.TsFileMetricManager;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.db.wal.WALManager;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/ProcessMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/ProcessMetrics.java
rename to server/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java
index 1397523d53..2c95c59eae 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/ProcessMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.predefined;
+package org.apache.iotdb.db.service.metrics;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/SystemMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/SystemMetrics.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/SystemMetrics.java
rename to server/src/main/java/org/apache/iotdb/db/service/metrics/SystemMetrics.java
index 94fe584f49..8c518ee089 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/predefined/SystemMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/SystemMetrics.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.service.metrics.predefined;
+package org.apache.iotdb.db.service.metrics;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CacheMetricsRecorder.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CacheMetricsRecorder.java
index 432f44b3b2..834b63acff 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CacheMetricsRecorder.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CacheMetricsRecorder.java
@@ -18,9 +18,9 @@
*/
package org.apache.iotdb.db.service.metrics.recorder;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+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.metrics.utils.MetricLevel;
public class CacheMetricsRecorder {
diff --git a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
index 30d5178efd..5403aa8cf6 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
@@ -18,15 +18,15 @@
*/
package org.apache.iotdb.db.service.metrics.recorder;
+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.compaction.constant.CompactionTaskStatus;
import org.apache.iotdb.db.engine.compaction.constant.CompactionType;
import org.apache.iotdb.db.engine.compaction.constant.ProcessChunkType;
import org.apache.iotdb.db.engine.compaction.cross.CrossSpaceCompactionTask;
import org.apache.iotdb.db.engine.compaction.inner.InnerSpaceCompactionTask;
import org.apache.iotdb.db.engine.compaction.task.AbstractCompactionTask;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.metrics.utils.MetricLevel;
import java.util.concurrent.TimeUnit;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/ProcessorWithMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/ProcessorWithMetrics.java
index 3b3e671068..50ccfcdf06 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/ProcessorWithMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/ProcessorWithMetrics.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.service.thrift;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+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.metrics.utils.MetricLevel;
import org.apache.iotdb.service.rpc.thrift.IClientRPCService.Iface;
import org.apache.iotdb.service.rpc.thrift.IClientRPCService.Processor;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandler.java
index d0e72ed39e..037a1cbc91 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandler.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.service.thrift.handler;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandlerMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandlerMetrics.java
index c9eef53faf..94dcb0f78a 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandlerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandlerMetrics.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.service.thrift.handler;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
index c03045591f..05c185bf59 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
@@ -16,7 +16,7 @@
*/
package org.apache.iotdb.db.service.thrift.handler;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.service.thrift.impl.IClientRPCServiceWithHandler;
import org.apache.thrift.protocol.TProtocol;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandlerMetrics.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandlerMetrics.java
index 863b8e6315..74fc4f4312 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandlerMetrics.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandlerMetrics.java
@@ -16,8 +16,8 @@
*/
package org.apache.iotdb.db.service.thrift.handler;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
+import org.apache.iotdb.commons.service.metric.enums.Metric;
+import org.apache.iotdb.commons.service.metric.enums.Tag;
import org.apache.iotdb.metrics.AbstractMetricService;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
index 7bc5737345..96ca1fdcf0 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.IoTDBException;
+import org.apache.iotdb.commons.service.metric.MetricService;
+import org.apache.iotdb.commons.service.metric.enums.Operation;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.auth.AuthorizerManager;
@@ -59,8 +61,6 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.template.SetSchemaTemplat
import org.apache.iotdb.db.query.control.SessionManager;
import org.apache.iotdb.db.query.control.SessionTimeoutManager;
import org.apache.iotdb.db.service.basic.BasicOpenSessionResp;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Operation;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.utils.QueryDataSetUtils;
import org.apache.iotdb.db.utils.SetThreadName;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
index e79d7d7b61..3afa2ab07c 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
@@ -37,6 +37,9 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.exception.sync.PipeException;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
+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.commons.sync.pipe.PipeInfo;
import org.apache.iotdb.commons.sync.pipe.SyncOperation;
import org.apache.iotdb.commons.trigger.TriggerInformation;
@@ -84,9 +87,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.node.write.DeleteDataNode;
import org.apache.iotdb.db.mpp.plan.scheduler.load.LoadTsFileScheduler;
import org.apache.iotdb.db.service.DataNode;
import org.apache.iotdb.db.service.RegionMigrateService;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Metric;
-import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.trigger.executor.TriggerExecutor;
import org.apache.iotdb.db.trigger.executor.TriggerFireResult;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
index bb696a9b54..aca7664144 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
@@ -29,6 +29,8 @@ import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.service.metric.MetricService;
+import org.apache.iotdb.commons.service.metric.enums.Operation;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.auth.AuthorizerManager;
@@ -74,8 +76,6 @@ import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.db.service.StaticResps;
import org.apache.iotdb.db.service.basic.BasicOpenSessionResp;
import org.apache.iotdb.db.service.basic.ServiceProvider;
-import org.apache.iotdb.db.service.metrics.MetricService;
-import org.apache.iotdb.db.service.metrics.enums.Operation;
import org.apache.iotdb.db.sync.SyncService;
import org.apache.iotdb.db.tools.watermark.GroupedLSBWatermarkEncoder;
import org.apache.iotdb.db.tools.watermark.WatermarkEncoder;
diff --git a/server/src/test/resources/datanode1conf/iotdb-metric.yml b/server/src/test/resources/datanode1conf/iotdb-metric.yml
index ed4d623d7d..6603ce82f1 100644
--- a/server/src/test/resources/datanode1conf/iotdb-metric.yml
+++ b/server/src/test/resources/datanode1conf/iotdb-metric.yml
@@ -18,7 +18,7 @@
#
# whether enable the module
-enableMetric: false
+enableMetric: true
# Is stat performance of operation latency
enablePerformanceStat: false
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9097
diff --git a/server/src/test/resources/datanode2conf/iotdb-metric.yml b/server/src/test/resources/datanode2conf/iotdb-metric.yml
index ce73290f9d..d91f17e54c 100644
--- a/server/src/test/resources/datanode2conf/iotdb-metric.yml
+++ b/server/src/test/resources/datanode2conf/iotdb-metric.yml
@@ -18,7 +18,7 @@
#
# whether enable the module
-enableMetric: false
+enableMetric: true
# Is stat performance of operation latency
enablePerformanceStat: false
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9099
diff --git a/server/src/test/resources/datanode3conf/iotdb-metric.yml b/server/src/test/resources/datanode3conf/iotdb-metric.yml
index 2102c2ce5a..05c9255ad6 100644
--- a/server/src/test/resources/datanode3conf/iotdb-metric.yml
+++ b/server/src/test/resources/datanode3conf/iotdb-metric.yml
@@ -18,7 +18,7 @@
#
# whether enable the module
-enableMetric: false
+enableMetric: true
# Is stat performance of operation latency
enablePerformanceStat: false
@@ -34,11 +34,6 @@ monitorType: MICROMETER
# Level of metric level, options: [CORE, IMPORTANT, NORMAL, ALL]
metricLevel: IMPORTANT
-# Predefined metric, options: [JVM, LOGBACK, FILE, PROCESS, SYSTEM]
-predefinedMetrics:
- - JVM
- - FILE
-
# The http server's port for prometheus exporter to get metric data.
prometheusExporterPort: 9101
diff --git a/server/src/test/resources/logback-test.xml b/server/src/test/resources/logback-test.xml
index 4b03f9ba91..2dfb84a4a8 100644
--- a/server/src/test/resources/logback-test.xml
+++ b/server/src/test/resources/logback-test.xml
@@ -45,7 +45,7 @@
<logger name="org.apache.iotdb.db.metadata" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.ThriftServiceThread" level="INFO"/>
<logger name="org.eclipse.jetty.util.thread.QueuedThreadPool" level="INFO"/>
- <logger name="org.apache.iotdb.db.service.metrics.MetricService" level="INFO"/>
+ <logger name="org.apache.iotdb.commons.service.metric.MetricService" level="INFO"/>
<logger name="org.apache.iotdb.db.engine.flush.FlushManager" level="INFO"/>
<logger name="org.apache.iotdb.db.integration.IoTDBCompactionIT" level="INFO"/>
<logger name="org.apache.iotdb.commons.service.RegisterManager" level="INFO"/>
diff --git a/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java b/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
index 6b21d77368..ff28000c74 100644
--- a/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
+++ b/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
@@ -39,7 +39,7 @@ import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.query.control.FileReaderManager;
import org.apache.iotdb.db.query.control.QueryResourceManager;
import org.apache.iotdb.db.service.IoTDB;
-import org.apache.iotdb.db.service.metrics.MetricService;
+import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.db.wal.WALManager;
import org.apache.iotdb.jdbc.Config;
import org.junit.Assert;