You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2023/01/12 13:30:01 UTC
[iotdb] 02/02: update summary in metrics
This is an automated email from the ASF dual-hosted git repository.
marklau99 pushed a commit to branch IOTDB-5140
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit d34055fffb65246f280d61f8104767ee0cf8c2fb
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Thu Jan 12 21:29:48 2023 +0800
update summary in metrics
---
.../execute/task/CompactionTaskSummary.java | 24 +++++++++++
.../execute/task/CrossSpaceCompactionTask.java | 4 ++
.../execute/task/InnerSpaceCompactionTask.java | 3 ++
.../recorder/CompactionMetricsRecorder.java | 46 ++++++++++++++++++++++
4 files changed, 77 insertions(+)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CompactionTaskSummary.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CompactionTaskSummary.java
index db8da24d98..56e5002e67 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CompactionTaskSummary.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CompactionTaskSummary.java
@@ -114,6 +114,30 @@ public class CompactionTaskSummary {
this.processPointNum = processPointNum;
}
+ public int getProcessChunkNum() {
+ return processChunkNum;
+ }
+
+ public int getDirectlyFlushChunkNum() {
+ return directlyFlushChunkNum;
+ }
+
+ public int getDeserializeChunkCount() {
+ return deserializeChunkCount;
+ }
+
+ public int getDeserializePageCount() {
+ return deserializePageCount;
+ }
+
+ public int getMergedChunkNum() {
+ return mergedChunkNum;
+ }
+
+ public long getProcessPointNum() {
+ return processPointNum;
+ }
+
enum Status {
NOT_STARTED,
STARTED,
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
index 277ba96843..8ae67744ba 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
@@ -34,6 +34,7 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceList;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceStatus;
import org.apache.iotdb.db.rescon.SystemInfo;
+import org.apache.iotdb.db.service.metrics.recorder.CompactionMetricsRecorder;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
@@ -205,6 +206,9 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
.deleteFile(sequenceFileSize, true, selectedSequenceFiles.size());
TsFileMetricManager.getInstance()
.deleteFile(unsequenceFileSize, false, selectedUnsequenceFiles.size());
+
+ CompactionMetricsRecorder.updateSummary(summary);
+
long costTime = (System.currentTimeMillis() - startTime) / 1000;
LOGGER.info(
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
index e5f606ffa6..12525a6610 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
@@ -33,6 +33,7 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileNameGenerator;
import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceList;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceStatus;
+import org.apache.iotdb.db.service.metrics.recorder.CompactionMetricsRecorder;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.exception.write.TsFileNotCompleteException;
@@ -240,6 +241,8 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
TsFileMetricManager.getInstance()
.deleteFile(totalSizeOfDeletedFile, sequence, selectedTsFileResourceList.size());
+ CompactionMetricsRecorder.updateSummary(summary);
+
double costTime = (System.currentTimeMillis() - startTime) / 1000.0d;
LOGGER.info(
"{}-{} [Compaction] InnerSpaceCompaction task finishes successfully, target file is {},"
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 295d3b6c72..9a1d5e121d 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
@@ -22,6 +22,7 @@ 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.execute.task.AbstractCompactionTask;
+import org.apache.iotdb.db.engine.compaction.execute.task.CompactionTaskSummary;
import org.apache.iotdb.db.engine.compaction.execute.task.CrossSpaceCompactionTask;
import org.apache.iotdb.db.engine.compaction.execute.task.InnerSpaceCompactionTask;
import org.apache.iotdb.db.engine.compaction.schedule.constant.CompactionTaskStatus;
@@ -68,6 +69,51 @@ public class CompactionMetricsRecorder {
"compaction");
}
+ public static void updateSummary(CompactionTaskSummary summary) {
+ MetricService.getInstance()
+ .count(
+ summary.getProcessPointNum(),
+ "Compacted_Point_Num",
+ MetricLevel.IMPORTANT,
+ Tag.NAME.toString(),
+ "compaction");
+ MetricService.getInstance()
+ .count(
+ summary.getProcessChunkNum(),
+ "Compacted_Chunk_Num",
+ MetricLevel.IMPORTANT,
+ Tag.NAME.toString(),
+ "compaction");
+ MetricService.getInstance()
+ .count(
+ summary.getDirectlyFlushChunkNum(),
+ "Directly_Flush_Chunk_Num",
+ MetricLevel.NORMAL,
+ Tag.NAME.toString(),
+ "compaction");
+ MetricService.getInstance()
+ .count(
+ summary.getDeserializeChunkCount(),
+ "Deserialized_Chunk_Num",
+ MetricLevel.NORMAL,
+ Tag.NAME.toString(),
+ "compaction");
+ MetricService.getInstance()
+ .count(
+ summary.getMergedChunkNum(),
+ "Merged_Chunk_Num",
+ MetricLevel.NORMAL,
+ Tag.NAME.toString(),
+ "compaction");
+ MetricService.getInstance()
+ .count(
+ summary.getDeserializePageCount(),
+ "Deserialized_Page_Num",
+ MetricLevel.NORMAL,
+ Tag.NAME.toString(),
+ "compaction");
+ }
+
public static void recordTaskInfo(
AbstractCompactionTask task, CompactionTaskStatus status, int size) {
String taskType = "unknown";