You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/05/07 16:34:18 UTC

[iotdb] branch master updated: add compaction speed log (#5826)

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

qiaojialin 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 e76b727f98 add compaction speed log (#5826)
e76b727f98 is described below

commit e76b727f986a9eef2b72157283f94f0f47133d19
Author: Liu Xuxin <37...@users.noreply.github.com>
AuthorDate: Sun May 8 00:34:11 2022 +0800

    add compaction speed log (#5826)
---
 .../compaction/cross/CrossSpaceCompactionTask.java    | 19 +++++++++++++++----
 .../compaction/inner/InnerSpaceCompactionTask.java    |  7 ++++---
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index 3f3568ea82..155c9795fa 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -56,6 +56,7 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
   protected List<TsFileResource> targetTsfileResourceList;
   protected List<TsFileResource> holdReadLockList = new ArrayList<>();
   protected List<TsFileResource> holdWriteLockList = new ArrayList<>();
+  protected long selectedFileSize = 0;
 
   public CrossSpaceCompactionTask(
       long timePartition,
@@ -95,11 +96,19 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
         return;
       }
 
+      for (TsFileResource resource : selectedSequenceFiles) {
+        selectedFileSize += resource.getTsFileSize();
+      }
+      for (TsFileResource resource : selectedUnsequenceFiles) {
+        selectedFileSize += resource.getTsFileSize();
+      }
+
       LOGGER.info(
-          "{} [Compaction] CrossSpaceCompactionTask start. Sequence files : {}, unsequence files : {}",
+          "{} [Compaction] CrossSpaceCompactionTask start. Sequence files : {}, unsequence files : {}, total size is {} MB",
           fullStorageGroupName,
           selectedSequenceFiles,
-          selectedUnsequenceFiles);
+          selectedUnsequenceFiles,
+          ((double) selectedFileSize) / 1024.0 / 1024.0);
       logFile =
           new File(
               selectedSequenceFiles.get(0).getTsFile().getParent()
@@ -142,10 +151,12 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
         if (logFile.exists()) {
           FileUtils.delete(logFile);
         }
+        long costTime = (System.currentTimeMillis() - startTime) / 1000;
         LOGGER.info(
-            "{} [Compaction] CrossSpaceCompactionTask Costs {} s",
+            "{} [Compaction] CrossSpaceCompactionTask Costs {} s, compaction speed is {} MB/s",
             fullStorageGroupName,
-            (System.currentTimeMillis() - startTime) / 1000);
+            costTime,
+            ((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
       }
     } catch (Throwable throwable) {
       // catch throwable instead of exception to handle OOM errors
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
index f2f9092084..649468660b 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
@@ -187,13 +187,14 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
       CompactionUtils.deleteModificationForSourceFile(
           selectedTsFileResourceList, fullStorageGroupName);
 
-      long costTime = System.currentTimeMillis() - startTime;
+      double costTime = (System.currentTimeMillis() - startTime) / 1000.0d;
       LOGGER.info(
           "{} [InnerSpaceCompactionTask] all compaction task finish, target file is {},"
-              + "time cost is {} s",
+              + "time cost is {} s, compaction speed is {} MB/s",
           fullStorageGroupName,
           targetTsFileResource.getTsFile().getName(),
-          costTime / 1000);
+          costTime,
+          ((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
 
       if (logFile.exists()) {
         FileUtils.delete(logFile);