This is an automated email from the ASF dual-hosted git repository.
tanxinyu 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 3a4c085afee Add OFF level (#11530)
3a4c085afee is described below
commit 3a4c085afee718d42eaaee1497f6220008ffcd9a
Author: ZhangHongYin <[email protected]>
AuthorDate: Mon Nov 13 20:03:12 2023 +0800
Add OFF level (#11530)
* Add OFF
* Fix comment
---
.../resources/conf/iotdb-confignode.properties | 2 +-
.../resources/conf/iotdb-datanode.properties | 2 +-
.../disk/DoNothingDiskMetricsManager.java} | 28 ++-------------
.../metricsets/disk/IDiskMetricsManager.java | 24 +++++++++----
.../net/DoNothingNetMetricManager.java} | 28 ++-------------
.../metrics/metricsets/net/INetMetricManager.java | 33 ++++++++++++------
.../metrics/metricsets/system/SystemMetrics.java | 40 +++++++++++++---------
.../apache/iotdb/metrics/utils/MetricLevel.java | 2 +-
8 files changed, 71 insertions(+), 88 deletions(-)
diff --git
a/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
b/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
index 7477bb8e1a1..158d9f94670 100644
---
a/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
+++
b/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
@@ -125,7 +125,7 @@ cn_seed_config_node=127.0.0.1:10710
# cn_metric_reporter_list=
# The level of metric module
-# Options: [CORE, IMPORTANT, NORMAL, ALL]
+# Options: [OFF, CORE, IMPORTANT, NORMAL, ALL]
# Datatype: String
# cn_metric_level=CORE
diff --git
a/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
b/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
index e15087f1a30..84969f014ec 100644
--- a/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
+++ b/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
@@ -261,7 +261,7 @@ dn_seed_config_node=127.0.0.1:10710
# dn_metric_reporter_list=
# The level of metric module
-# Options: [CORE, IMPORTANT, NORMAL, ALL]
+# Options: [OFF, CORE, IMPORTANT, NORMAL, ALL]
# Datatype: String
# dn_metric_level=CORE
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DoNothingDiskMetricsManager.java
similarity index 61%
copy from
iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
copy to
iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DoNothingDiskMetricsManager.java
index 70bd3aca4af..a622af9f759 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DoNothingDiskMetricsManager.java
@@ -7,7 +7,7 @@
* "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
+ * 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
@@ -17,28 +17,6 @@
* under the License.
*/
-package org.apache.iotdb.metrics.utils;
+package org.apache.iotdb.metrics.metricsets.disk;
-public enum MetricLevel {
- ALL(0),
- NORMAL(1),
- IMPORTANT(2),
- CORE(3),
- DO_NOTHING(4);
-
- /** Level of metric service. */
- final int level;
-
- MetricLevel(int level) {
- this.level = level;
- }
-
- public static boolean higherOrEqual(MetricLevel level1, MetricLevel level2) {
- return level1.level >= level2.level;
- }
-
- @Override
- public String toString() {
- return name();
- }
-}
+public class DoNothingDiskMetricsManager implements IDiskMetricsManager {}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/IDiskMetricsManager.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/IDiskMetricsManager.java
index 798bfba38d4..67c2007965e 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/IDiskMetricsManager.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/IDiskMetricsManager.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.metrics.metricsets.disk;
+import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
+import org.apache.iotdb.metrics.utils.MetricLevel;
+
import java.util.Collections;
import java.util.Map;
import java.util.Set;
@@ -110,14 +113,21 @@ public interface IDiskMetricsManager {
/** Return different implementation of DiskMetricsManager according to OS
type. */
static IDiskMetricsManager getDiskMetricsManager() {
- String os = System.getProperty("os.name").toLowerCase();
-
- if (os.startsWith("windows")) {
- return new WindowsDiskMetricsManager();
- } else if (os.startsWith("linux")) {
- return new LinuxDiskMetricsManager();
+ if (MetricConfigDescriptor.getInstance()
+ .getMetricConfig()
+ .getMetricLevel()
+ .equals(MetricLevel.OFF)) {
+ return new DoNothingDiskMetricsManager();
} else {
- return new MacDiskMetricsManager();
+ String os = System.getProperty("os.name").toLowerCase();
+
+ if (os.startsWith("windows")) {
+ return new WindowsDiskMetricsManager();
+ } else if (os.startsWith("linux")) {
+ return new LinuxDiskMetricsManager();
+ } else {
+ return new MacDiskMetricsManager();
+ }
}
}
}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/DoNothingNetMetricManager.java
similarity index 61%
copy from
iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
copy to
iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/DoNothingNetMetricManager.java
index 70bd3aca4af..9efb442a542 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/DoNothingNetMetricManager.java
@@ -7,7 +7,7 @@
* "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
+ * 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
@@ -17,28 +17,6 @@
* under the License.
*/
-package org.apache.iotdb.metrics.utils;
+package org.apache.iotdb.metrics.metricsets.net;
-public enum MetricLevel {
- ALL(0),
- NORMAL(1),
- IMPORTANT(2),
- CORE(3),
- DO_NOTHING(4);
-
- /** Level of metric service. */
- final int level;
-
- MetricLevel(int level) {
- this.level = level;
- }
-
- public static boolean higherOrEqual(MetricLevel level1, MetricLevel level2) {
- return level1.level >= level2.level;
- }
-
- @Override
- public String toString() {
- return name();
- }
-}
+public class DoNothingNetMetricManager implements INetMetricManager {}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/INetMetricManager.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/INetMetricManager.java
index 35f551e2a5c..67e79296996 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/INetMetricManager.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/INetMetricManager.java
@@ -19,22 +19,14 @@
package org.apache.iotdb.metrics.metricsets.net;
+import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
+import org.apache.iotdb.metrics.utils.MetricLevel;
+
import java.util.Collections;
import java.util.Map;
import java.util.Set;
public interface INetMetricManager {
- static INetMetricManager getNetMetricManager() {
- String os = System.getProperty("os.name").toLowerCase();
-
- if (os.startsWith("windows")) {
- return new WindowsNetMetricManager();
- } else if (os.startsWith("linux")) {
- return new LinuxNetMetricManager();
- } else {
- return new MacNetMetricManager();
- }
- }
default Map<String, Long> getReceivedByte() {
return Collections.emptyMap();
@@ -59,4 +51,23 @@ public interface INetMetricManager {
default int getConnectionNum() {
return 0;
}
+
+ static INetMetricManager getNetMetricManager() {
+ if (MetricConfigDescriptor.getInstance()
+ .getMetricConfig()
+ .getMetricLevel()
+ .equals(MetricLevel.OFF)) {
+ return new DoNothingNetMetricManager();
+ } else {
+ String os = System.getProperty("os.name").toLowerCase();
+
+ if (os.startsWith("windows")) {
+ return new WindowsNetMetricManager();
+ } else if (os.startsWith("linux")) {
+ return new LinuxNetMetricManager();
+ } else {
+ return new MacNetMetricManager();
+ }
+ }
+ }
}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/system/SystemMetrics.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/system/SystemMetrics.java
index dd9054dd9a0..2450057d219 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/system/SystemMetrics.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/system/SystemMetrics.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.metrics.metricsets.system;
import org.apache.iotdb.metrics.AbstractMetricService;
+import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
import org.apache.iotdb.metrics.metricsets.IMetricSet;
import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.iotdb.metrics.utils.MetricType;
@@ -57,26 +58,31 @@ public class SystemMetrics implements IMetricSet {
}
public void setDiskDirs(List<String> diskDirs) {
- this.diskDirs.set(diskDirs);
- for (String diskDir : this.diskDirs.get()) {
- if (!FSUtils.isLocal(diskDir)) {
- continue;
- }
- Path path = Paths.get(diskDir);
- FileStore fileStore = null;
- try {
- fileStore = Files.getFileStore(path);
- } catch (IOException e) {
- // check parent if path is not exists
- path = path.getParent();
+ if (!MetricConfigDescriptor.getInstance()
+ .getMetricConfig()
+ .getMetricLevel()
+ .equals(MetricLevel.OFF)) {
+ this.diskDirs.set(diskDirs);
+ for (String diskDir : this.diskDirs.get()) {
+ if (!FSUtils.isLocal(diskDir)) {
+ continue;
+ }
+ Path path = Paths.get(diskDir);
+ FileStore fileStore = null;
try {
fileStore = Files.getFileStore(path);
- } catch (IOException innerException) {
- logger.error("Failed to get storage path of {}, because", diskDir,
innerException);
+ } catch (IOException e) {
+ // check parent if path is not exists
+ path = path.getParent();
+ try {
+ fileStore = Files.getFileStore(path);
+ } catch (IOException innerException) {
+ logger.error("Failed to get storage path of {}, because", diskDir,
innerException);
+ }
+ }
+ if (null != fileStore) {
+ fileStores.add(fileStore);
}
- }
- if (null != fileStore) {
- fileStores.add(fileStore);
}
}
}
diff --git
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
index 70bd3aca4af..f5da94e362e 100644
---
a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
+++
b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/MetricLevel.java
@@ -24,7 +24,7 @@ public enum MetricLevel {
NORMAL(1),
IMPORTANT(2),
CORE(3),
- DO_NOTHING(4);
+ OFF(4);
/** Level of metric service. */
final int level;