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

marklau99 pushed a commit to branch refactor-compaction-metrics
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/refactor-compaction-metrics by 
this push:
     new 61abffe0346 add more metrics interface and fix code smell
61abffe0346 is described below

commit 61abffe0346f641c0c2d20ecdb1abdaf9930a32a
Author: LiuXuxin <[email protected]>
AuthorDate: Wed Jun 21 11:50:54 2023 +0800

    add more metrics interface and fix code smell
---
 .../compaction/execute/utils/CompactionUtils.java  |  1 +
 .../compaction/io/CompactionTsFileReader.java      | 35 ++++++++++++++++++++++
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  2 +-
 3 files changed, 37 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/utils/CompactionUtils.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/utils/CompactionUtils.java
index 56b320f25e0..495d1ad5548 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/utils/CompactionUtils.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/utils/CompactionUtils.java
@@ -342,6 +342,7 @@ public class CompactionUtils {
     return true;
   }
 
+  @SuppressWarnings("java:S6541") // do not warn about brain method
   public static boolean validateSingleTsFiles(TsFileResource resource) {
     try (TsFileSequenceReader reader = new 
TsFileSequenceReader(resource.getTsFilePath())) {
       reader.readHeadMagic();
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/io/CompactionTsFileReader.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/io/CompactionTsFileReader.java
index 374cca8f219..6e8b7b3d890 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/io/CompactionTsFileReader.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/io/CompactionTsFileReader.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.db.service.metrics.CompactionMetrics;
 import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata;
 import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata;
 import org.apache.iotdb.tsfile.file.metadata.MetadataIndexNode;
+import org.apache.iotdb.tsfile.file.metadata.TimeseriesMetadata;
 import org.apache.iotdb.tsfile.read.TsFileDeviceIterator;
 import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
 import org.apache.iotdb.tsfile.read.common.Chunk;
@@ -33,7 +34,9 @@ import org.apache.iotdb.tsfile.utils.Pair;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.List;
+import java.util.Map;
 import java.util.Queue;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 
 /**
@@ -140,4 +143,36 @@ public class CompactionTsFileReader extends 
TsFileSequenceReader {
         .recordReadInfo(compactionType, CompactionIoDataType.METADATA, 
dataSize);
     return metadataIndexNode;
   }
+
+  @Override
+  public Map<String, Pair<List<IChunkMetadata>, Pair<Long, Long>>>
+      getTimeseriesMetadataOffsetByDevice(
+          MetadataIndexNode measurementNode,
+          Set<String> excludedMeasurementIds,
+          boolean needChunkMetadata)
+          throws IOException {
+    long before = readDataSize.get();
+    Map<String, Pair<List<IChunkMetadata>, Pair<Long, Long>>> result =
+        super.getTimeseriesMetadataOffsetByDevice(
+            measurementNode, excludedMeasurementIds, needChunkMetadata);
+    long dataSize = readDataSize.get() - before;
+    CompactionMetrics.getInstance()
+        .recordReadInfo(compactionType, CompactionIoDataType.METADATA, 
dataSize);
+    return result;
+  }
+
+  @Override
+  public void getDeviceTimeseriesMetadata(
+      List<TimeseriesMetadata> timeseriesMetadataList,
+      MetadataIndexNode measurementNode,
+      Set<String> excludedMeasurementIds,
+      boolean needChunkMetadata)
+      throws IOException {
+    long before = readDataSize.get();
+    super.getDeviceTimeseriesMetadata(
+        timeseriesMetadataList, measurementNode, excludedMeasurementIds, 
needChunkMetadata);
+    long dataSize = readDataSize.get() - before;
+    CompactionMetrics.getInstance()
+        .recordReadInfo(compactionType, CompactionIoDataType.METADATA, 
dataSize);
+  }
 }
diff --git 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
index 9f209394eeb..8a8516f7f0b 100644
--- 
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
+++ 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
@@ -2251,7 +2251,7 @@ public class TsFileSequenceReader implements 
AutoCloseable {
   }
 
   /**
-   * Read MetadataIndexNode by start and end offset
+   * Read MetadataIndexNode by start and end offset.
    *
    * @param start the start offset of the MetadataIndexNode
    * @param end the end offset of the MetadataIndexNode

Reply via email to