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