You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ej...@apache.org on 2021/02/22 03:17:19 UTC

[iotdb] branch proceeding_vldb updated: add compaction time print

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

ejttianyu pushed a commit to branch proceeding_vldb
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/proceeding_vldb by this push:
     new b894555  add compaction time print
b894555 is described below

commit b89455579381a634aabbd2de031826a3198c7725
Author: EJTTianyu <16...@qq.com>
AuthorDate: Mon Feb 22 11:16:57 2021 +0800

    add compaction time print
---
 .../org/apache/iotdb/db/engine/compaction/TsFileManagement.java  | 5 ++++-
 .../engine/compaction/level/LevelCompactionTsFileManagement.java | 2 ++
 .../engine/compaction/tired/TiredCompactionTsFileManagement.java | 4 ++++
 server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java  | 9 +++++++++
 4 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/TsFileManagement.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/TsFileManagement.java
index 3f037d2..b0f8cbd 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/TsFileManagement.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/TsFileManagement.java
@@ -242,7 +242,10 @@ public abstract class TsFileManagement {
 
   protected void printInfo() {
     logger.info("current compaction num: {}", SystemInfo.getInstance().getCompactionNum());
-    System.out.println("current compaction num: " + SystemInfo.getInstance().getCompactionNum());
+    logger.info("current compaction time: {}", SystemInfo.getInstance().getCompactionTime());
+    System.out.println(
+        "current compaction num: " + SystemInfo.getInstance().getCompactionNum() + ", time: "
+            + SystemInfo.getInstance().getCompactionTime());
   }
 
   public class CompactionMergeTask implements Runnable {
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/level/LevelCompactionTsFileManagement.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/level/LevelCompactionTsFileManagement.java
index 6a3b0e9..afafd01 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/level/LevelCompactionTsFileManagement.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/level/LevelCompactionTsFileManagement.java
@@ -719,12 +719,14 @@ public class LevelCompactionTsFileManagement extends TsFileManagement {
 //    if (isCompactionWorking()) {
 //      return;
 //    }
+    long startTime = System.currentTimeMillis();
     handleSpecificCase(timePartition);
     if (processUnseq()) {
       Map<Long, Map<Long, List<TsFileResource>>> selectFiles = selectMergeFile(timePartition);
       mergeFiles(selectFiles, timePartition);
     }
     processSeq(timePartition);
+    SystemInfo.getInstance().incrementCompactionTime(System.currentTimeMillis() - startTime);
     printInfo();
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/tired/TiredCompactionTsFileManagement.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/tired/TiredCompactionTsFileManagement.java
index e9146b4..0680ac9 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/tired/TiredCompactionTsFileManagement.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/tired/TiredCompactionTsFileManagement.java
@@ -49,6 +49,7 @@ import org.apache.iotdb.db.metadata.mnode.MeasurementMNode;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.control.FileReaderManager;
 import org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader;
+import org.apache.iotdb.db.rescon.SystemInfo;
 import org.apache.iotdb.db.utils.MergeUtils;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 import org.apache.iotdb.tsfile.read.common.BatchData;
@@ -349,8 +350,11 @@ public class TiredCompactionTsFileManagement extends TsFileManagement {
 //    if (isCompactionWorking()) {
 //      return;
 //    }
+    long startTime = System.currentTimeMillis();
     Map<Long, Map<Long, List<TsFileResource>>> selectFiles = selectMergeFile(timePartition);
     mergeFiles(selectFiles, timePartition);
+    SystemInfo.getInstance().incrementCompactionTime(System.currentTimeMillis() - startTime);
+    printInfo();
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java b/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
index 7953882..84fd9a2 100644
--- a/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
+++ b/server/src/main/java/org/apache/iotdb/db/rescon/SystemInfo.java
@@ -45,6 +45,7 @@ public class SystemInfo {
   private Map<StorageGroupInfo, Long> reportedSgMemCostMap = new HashMap<>();
 
   private AtomicLong compactionNum = new AtomicLong(0);
+  private AtomicLong compactionTime = new AtomicLong(0);
   private static final double FLUSH_THERSHOLD =
       config.getAllocateMemoryForWrite() * config.getFlushProportion();
   private static final double REJECT_THERSHOLD = 
@@ -213,4 +214,12 @@ public class SystemInfo {
   public void incrementCompactionNum(long batchSize) {
     compactionNum.getAndAdd(batchSize);
   }
+
+  public long getCompactionTime() {
+    return compactionTime.get();
+  }
+
+  public void incrementCompactionTime(long latency) {
+    compactionTime.getAndAdd(latency);
+  }
 }