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

marklau99 pushed a commit to branch add-confignode-cpu-metric
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6ab80786e9d2e5b522ce03bd05692a0c6fb41492
Author: Liu Xuxin <[email protected]>
AuthorDate: Wed Jun 21 16:00:08 2023 +0800

    temp
---
 .../apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git 
a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java
 
b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java
index 56a2864f22f..e1f3cb14a2a 100644
--- 
a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java
+++ 
b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java
@@ -25,6 +25,8 @@ import org.apache.iotdb.metrics.metricsets.IMetricSet;
 import org.apache.iotdb.metrics.type.AutoGauge;
 import org.apache.iotdb.metrics.utils.MetricLevel;
 import org.apache.iotdb.metrics.utils.MetricType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.lang.management.ManagementFactory;
 import java.lang.management.ThreadInfo;
@@ -39,6 +41,7 @@ import java.util.function.UnaryOperator;
 import java.util.stream.Collectors;
 
 public class CpuUsageMetrics implements IMetricSet {
+  private static final Logger log = 
LoggerFactory.getLogger(CpuUsageMetrics.class);
   private static final String MODULE_CPU_USAGE = "module_cpu_usage";
   private static final String POOL_CPU_USAGE = "pool_cpu_usage";
   private static final String POOL = "pool";
@@ -62,6 +65,7 @@ public class CpuUsageMetrics implements IMetricSet {
   AutoGauge processCpuLoadGauge = null;
   private final ThreadMXBean threadMxBean = 
ManagementFactory.getThreadMXBean();
   private AtomicLong lastUpdateTime = new AtomicLong(0L);
+  private AtomicLong updateCount = new AtomicLong(0);
 
   public CpuUsageMetrics(
       List<String> modules,
@@ -170,6 +174,7 @@ public class CpuUsageMetrics implements IMetricSet {
     if (!checkCpuMonitorEnable()) {
       return;
     }
+    long startTime = System.nanoTime();
     // update
     long[] taskIds = threadMxBean.getAllThreadIds();
     ThreadInfo[] threadInfos = threadMxBean.getThreadInfo(taskIds);
@@ -211,6 +216,11 @@ public class CpuUsageMetrics implements IMetricSet {
     lastThreadCpuTime.putAll(currentThreadCpuTime);
     lastThreadUserTime.clear();
     lastThreadUserTime.putAll(currentThreadUserTime);
+    long timeCost = System.nanoTime() - startTime;
+    updateCount.incrementAndGet();
+    if (updateCount.get() % 10 == 0) {
+      log.info("Time for update cpu usage is {} ns", timeCost);
+    }
   }
 
   private boolean checkCpuMonitorEnable() {

Reply via email to