This is an automated email from the ASF dual-hosted git repository. hui pushed a commit to branch lmh/groupByTest in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 59bcf3a57d5f6bf24cada9c549760a1e2380d30d Author: Minghui Liu <[email protected]> AuthorDate: Fri Apr 14 10:32:48 2023 +0800 fix load chunk --- .../java/org/apache/iotdb/db/engine/cache/ChunkCache.java | 5 ++++- .../org/apache/iotdb/db/mpp/statistics/QueryStatistics.java | 12 +++++++++++- .../iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java | 5 ++++- .../apache/iotdb/db/query/reader/chunk/DiskChunkLoader.java | 5 ++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java index 5564df780c..0258522c09 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCache.java @@ -25,6 +25,7 @@ import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.mpp.metric.ChunkCacheMetrics; import org.apache.iotdb.db.mpp.metric.QueryMetricsManager; +import org.apache.iotdb.db.mpp.statistics.QueryStatistics; import org.apache.iotdb.db.query.control.FileReaderManager; import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata; import org.apache.iotdb.tsfile.read.TsFileSequenceReader; @@ -136,7 +137,9 @@ public class ChunkCache { chunkMetaData.getDeleteIntervalList(), chunkMetaData.getStatistics()); } finally { - QUERY_METRICS.recordSeriesScanCost(READ_CHUNK_ALL, System.nanoTime() - startTime); + long costTime = System.nanoTime() - startTime; + QUERY_METRICS.recordSeriesScanCost(READ_CHUNK_ALL, costTime); + QueryStatistics.getInstance().addCost(QueryStatistics.LOAD_CHUNK, costTime); } } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/QueryStatistics.java b/server/src/main/java/org/apache/iotdb/db/mpp/statistics/QueryStatistics.java index ef615393d4..783af3bb82 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/QueryStatistics.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/statistics/QueryStatistics.java @@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicLong; @ThreadSafe public class QueryStatistics { - private static final long QUERY_STATISTICS_PRINT_INTERVAL_IN_MS = 1_000_000; + private static final long QUERY_STATISTICS_PRINT_INTERVAL_IN_MS = 100_000; private static final Logger QUERY_STATISTICS_LOGGER = LoggerFactory.getLogger(IoTDBConstant.QUERY_STATISTICS_LOGGER_NAME); @@ -159,6 +159,8 @@ public class QueryStatistics { public static final String LOAD_PAGE_READER_LIST = "loadPageReaderList"; public static final String TIME_SERIES_METADATA_CACHE_MISS = "TimeSeriesMetadataCacheMiss"; public static final String CHUNK_CACHE_MISS = "ChunkCacheMiss"; + public static final String LOAD_CHUNK = "ChunkCacheMiss"; + public static final String INIT_PAGE_READERS = "initAllPageReaders"; public static final String HAS_NEXT_FILE = "hasNextFile"; public static final String HAS_NEXT_CHUNK = "hasNextChunk"; @@ -318,6 +320,14 @@ public class QueryStatistics { .append("| | |___loadPageReaderList ") .append(operationStatistics.get(LOAD_PAGE_READER_LIST)) .append(System.lineSeparator()); + builder + .append("| | | |___loadChunk ") + .append(operationStatistics.get(LOAD_CHUNK)) + .append(System.lineSeparator()); + builder + .append("| | | |___initPageReaders ") + .append(operationStatistics.get(INIT_PAGE_READERS)) + .append(System.lineSeparator()); builder .append("| | |___pageReader ") .append(operationStatistics.get(PAGE_READER)) diff --git a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java index b433641af0..efb0ca8dd2 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java +++ b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java @@ -20,6 +20,7 @@ package org.apache.iotdb.db.query.reader.chunk; import org.apache.iotdb.db.engine.cache.ChunkCache; import org.apache.iotdb.db.mpp.metric.QueryMetricsManager; +import org.apache.iotdb.db.mpp.statistics.QueryStatistics; import org.apache.iotdb.tsfile.file.metadata.AlignedChunkMetadata; import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata; import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; @@ -72,7 +73,9 @@ public class DiskAlignedChunkLoader implements IChunkLoader { long t2 = System.nanoTime(); IChunkReader chunkReader = new AlignedChunkReader(timeChunk, valueChunkList, timeFilter); - QUERY_METRICS.recordSeriesScanCost(INIT_CHUNK_READER_ALIGNED_DISK, System.nanoTime() - t2); + long costTime = System.nanoTime() - t2; + QUERY_METRICS.recordSeriesScanCost(INIT_CHUNK_READER_ALIGNED_DISK, costTime); + QueryStatistics.getInstance().addCost(QueryStatistics.INIT_PAGE_READERS, costTime); return chunkReader; } finally { diff --git a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskChunkLoader.java b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskChunkLoader.java index 85ee83bee4..b038737719 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskChunkLoader.java +++ b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskChunkLoader.java @@ -21,6 +21,7 @@ package org.apache.iotdb.db.query.reader.chunk; import org.apache.iotdb.db.engine.cache.ChunkCache; import org.apache.iotdb.db.mpp.metric.QueryMetricsManager; +import org.apache.iotdb.db.mpp.statistics.QueryStatistics; import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata; import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; import org.apache.iotdb.tsfile.read.common.Chunk; @@ -65,7 +66,9 @@ public class DiskChunkLoader implements IChunkLoader { long t2 = System.nanoTime(); IChunkReader chunkReader = new ChunkReader(chunk, timeFilter); - QUERY_METRICS.recordSeriesScanCost(INIT_CHUNK_READER_NONALIGNED_DISK, System.nanoTime() - t2); + long costTime = System.nanoTime() - t2; + QUERY_METRICS.recordSeriesScanCost(INIT_CHUNK_READER_NONALIGNED_DISK, costTime); + QueryStatistics.getInstance().addCost(QueryStatistics.INIT_PAGE_READERS, costTime); return chunkReader; } finally {
