This is an automated email from the ASF dual-hosted git repository. leirui pushed a commit to branch research/M4-visualization in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 65099ff4384bad3a773aa35452bf5831ceca9d9e Author: Lei Rui <[email protected]> AuthorDate: Fri Jul 7 10:00:24 2023 +0800 fix metric --- .../iotdb/tsfile/read/common/ChunkSuit4CPV.java | 1 - .../iotdb/tsfile/read/reader/page/PageReader.java | 30 ++++++++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ChunkSuit4CPV.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ChunkSuit4CPV.java index e0de93e5079..866ae9e513c 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ChunkSuit4CPV.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ChunkSuit4CPV.java @@ -315,7 +315,6 @@ public class ChunkSuit4CPV { pageReader.valueBuffer.position(pageReader.timeBufferLength); while (pageReader.timeBuffer.remaining() > 0) { estimatedPos++; - // IOMonitor.incPointsTravered(); IOMonitor2.DCP_D_timeIndex_traversedPointNum++; long t = pageReader.timeBuffer.getLong(); if (t >= targetTimestamp) { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java index 6c63f57282b..2b56950bf8f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java @@ -168,8 +168,8 @@ public class PageReader implements IPageReader { } public void updateTP_withValueIndex(ChunkSuit4CPV chunkSuit4CPV) { - long start = System.nanoTime(); if (TSFileDescriptor.getInstance().getConfig().isUseValueIndex()) { + long start = System.nanoTime(); // NOTE: get valueIndex from chunkSuit4CPV.getChunkMetadata().getStatistics(), not // chunkSuit4CPV.getStatistics()! ValueIndex valueIndex = chunkSuit4CPV.getChunkMetadata().getStatistics().valueIndex; @@ -197,7 +197,9 @@ public class PageReader implements IPageReader { if (!isFound) { // unfortunately all sdt points are deleted // this includes the case that all points including model points are deleted, // which is handled by updateBPTP - updateBPTP(chunkSuit4CPV); // then fall back to baseline method + updateBPTP_withoutTimeMeasure(chunkSuit4CPV); // then fall back to baseline method + // time measured here, avoid counting twice + IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); return; } double threshold_LB = foundValue - valueIndex.errorBound; // near max LB @@ -340,15 +342,15 @@ public class PageReader implements IPageReader { } else { throw new UnSupportedDataTypeException(String.valueOf(dataType)); } - } else { + IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); + } else { // not use value index updateBPTP(chunkSuit4CPV); } - IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); } public void updateBP_withValueIndex(ChunkSuit4CPV chunkSuit4CPV) { - long start = System.nanoTime(); if (TSFileDescriptor.getInstance().getConfig().isUseValueIndex()) { + long start = System.nanoTime(); // NOTE: get valueIndex from chunkSuit4CPV.getChunkMetadata().getStatistics(), not // chunkSuit4CPV.getStatistics()! ValueIndex valueIndex = chunkSuit4CPV.getChunkMetadata().getStatistics().valueIndex; @@ -376,8 +378,10 @@ public class PageReader implements IPageReader { if (!isFound) { // unfortunately all sdt points are deleted // this includes the case that all points including model points are deleted, // which is handled by updateBPTP - updateBPTP(chunkSuit4CPV); // then fall back to baseline method - return; + updateBPTP_withoutTimeMeasure(chunkSuit4CPV); // then fall back to baseline method + // time measured here, avoid counting twice + IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); + return; // note here } double threshold_UB = foundValue + valueIndex.errorBound; // near min UB @@ -520,14 +524,13 @@ public class PageReader implements IPageReader { } else { throw new UnSupportedDataTypeException(String.valueOf(dataType)); } - } else { + IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); + } else { // not use value index updateBPTP(chunkSuit4CPV); } - IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); } - public void updateBPTP(ChunkSuit4CPV chunkSuit4CPV) { - long start = System.nanoTime(); + public void updateBPTP_withoutTimeMeasure(ChunkSuit4CPV chunkSuit4CPV) { deleteCursor = 0; // TODO DEBUG Statistics statistics = null; switch (dataType) { @@ -592,6 +595,11 @@ public class PageReader implements IPageReader { } else { chunkSuit4CPV.statistics.setCount(0); // otherwise count won't be zero } + } + + public void updateBPTP(ChunkSuit4CPV chunkSuit4CPV) { + long start = System.nanoTime(); + updateBPTP_withoutTimeMeasure(chunkSuit4CPV); IOMonitor2.addMeasure(Operation.SEARCH_ARRAY_c_genBPTP, System.nanoTime() - start); }
