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 89c9cb7cb11ad386af8810136feaaf0723387c2a
Author: Lei Rui <[email protected]>
AuthorDate: Thu Jul 6 15:13:08 2023 +0800

    add metric
---
 .../iotdb/tsfile/read/common/ChunkSuit4CPV.java    | 26 ++++++++++----------
 .../iotdb/tsfile/read/common/IOMonitor2.java       | 28 ++++++++++++++++------
 .../iotdb/tsfile/read/reader/page/PageReader.java  | 23 +++++++++---------
 3 files changed, 45 insertions(+), 32 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 18d61065299..e0de93e5079 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
@@ -262,18 +262,18 @@ public class ChunkSuit4CPV {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) < 
targetTimestamp) {
           estimatedPos++;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
       } else if (pageReader.timeBuffer.getLong(estimatedPos * 8) > 
targetTimestamp) {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) > 
targetTimestamp) {
           estimatedPos--;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
         if (pageReader.timeBuffer.getLong(estimatedPos * 8) < targetTimestamp) 
{
           estimatedPos++;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         } // else equal
       } // else equal
       this.startPos = estimatedPos; // note this
@@ -316,7 +316,7 @@ public class ChunkSuit4CPV {
       while (pageReader.timeBuffer.remaining() > 0) {
         estimatedPos++;
         //        IOMonitor.incPointsTravered();
-        IOMonitor2.DCP_D_traversedPointNum++;
+        IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         long t = pageReader.timeBuffer.getLong();
         if (t >= targetTimestamp) {
           break;
@@ -379,18 +379,18 @@ public class ChunkSuit4CPV {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) > 
targetTimestamp) {
           estimatedPos--;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
       } else if (pageReader.timeBuffer.getLong(estimatedPos * 8) < 
targetTimestamp) {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) < 
targetTimestamp) {
           estimatedPos++;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
         if (pageReader.timeBuffer.getLong(estimatedPos * 8) > targetTimestamp) 
{
           estimatedPos--;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         } // else equal
       } // else equal
       this.endPos = estimatedPos; // note this
@@ -433,7 +433,7 @@ public class ChunkSuit4CPV {
       while (pageReader.timeBuffer.remaining() > 0) {
         estimatedPos++;
         //        IOMonitor.incPointsTravered();
-        IOMonitor2.DCP_D_traversedPointNum++;
+        IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         long t = pageReader.timeBuffer.getLong();
         if (t >= targetTimestamp) {
           break;
@@ -441,7 +441,7 @@ public class ChunkSuit4CPV {
       }
       if (pageReader.timeBuffer.getLong(estimatedPos * 8) > targetTimestamp) {
         //        IOMonitor.incPointsTravered();
-        IOMonitor2.DCP_D_traversedPointNum++;
+        IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         estimatedPos--;
       } // else equals no need to minus 1
 
@@ -502,18 +502,18 @@ public class ChunkSuit4CPV {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) > 
targetTimestamp) {
           estimatedPos--;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
       } else if (pageReader.timeBuffer.getLong(estimatedPos * 8) < 
targetTimestamp) {
         while (pageReader.timeBuffer.getLong(estimatedPos * 8) < 
targetTimestamp) {
           estimatedPos++;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         }
         if (pageReader.timeBuffer.getLong(estimatedPos * 8) > targetTimestamp) 
{
           estimatedPos--;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          IOMonitor2.DCP_D_timeIndex_traversedPointNum++;
         } // else equal
       } // else equal
 
@@ -532,7 +532,7 @@ public class ChunkSuit4CPV {
         if (!flag) {
           estimatedPos++;
           //          IOMonitor.incPointsTravered();
-          IOMonitor2.DCP_D_traversedPointNum++;
+          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/common/IOMonitor2.java 
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/IOMonitor2.java
index 44f5084c5da..e2bececf2c6 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/IOMonitor2.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/IOMonitor2.java
@@ -98,11 +98,8 @@ public class IOMonitor2 {
 
   public static int DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count = 
0; // level 4
   public static long DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_ns = 0; 
// level 4
-
-  public static long DCP_D_traversedPointNum = 0; // level 4
   public static int DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count = 0; // level 4
   public static long DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_ns = 0; // level 4
-
   public static int SEARCH_ARRAY_a_verifBPTP_count = 0; // level 4
   public static long SEARCH_ARRAY_a_verifBPTP_ns = 0; // level 4
 
@@ -115,6 +112,10 @@ public class IOMonitor2 {
   public static int SEARCH_ARRAY_c_genBPTP_count = 0; // level 4
   public static long SEARCH_ARRAY_c_genBPTP_ns = 0; // level 4
 
+  public static long DCP_D_getAllSatisfiedPageData_traversedPointNum = 0; // 
level 5
+  public static long DCP_D_timeIndex_traversedPointNum = 0; // level 5
+  public static long DCP_D_valueIndex_traversedPointNum = 0; // level 5
+
   public static Operation M4_LSM_status =
       null; // for counting the number of calling BCD by each step of M4-LSM
   public static int M4_LSM_merge_M4_time_span_B_READ_MEM_CHUNK_cnt = 0; // map 
from level 3 to 4
@@ -195,8 +196,6 @@ public class IOMonitor2 {
     DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count = 0;
     DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_ns = 0;
 
-    DCP_D_traversedPointNum = 0;
-
     DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count = 0;
     DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_ns = 0;
 
@@ -209,6 +208,11 @@ public class IOMonitor2 {
     SEARCH_ARRAY_c_genBPTP_count = 0;
     SEARCH_ARRAY_c_genBPTP_ns = 0;
 
+    /** level 5 */
+    DCP_D_getAllSatisfiedPageData_traversedPointNum = 0;
+    DCP_D_timeIndex_traversedPointNum = 0;
+    DCP_D_valueIndex_traversedPointNum = 0;
+
     /** map from level 3 to level 4 */
     M4_LSM_status = null;
     M4_LSM_merge_M4_time_span_B_READ_MEM_CHUNK_cnt =
@@ -593,9 +597,19 @@ public class IOMonitor2 {
         .append(SEARCH_ARRAY_c_genBPTP_count)
         .append("\n");
     stringBuilder
-        .append("[4-cnt]DCP_D_traversedPointNum")
+        .append("[5-cnt]DCP_D_getAllSatisfiedPageData_traversedPointNum")
+        .append(",")
+        .append(DCP_D_getAllSatisfiedPageData_traversedPointNum)
+        .append("\n");
+    stringBuilder
+        .append("[5-cnt]DCP_D_timeIndex_traversedPointNum")
+        .append(",")
+        .append(DCP_D_timeIndex_traversedPointNum)
+        .append("\n");
+    stringBuilder
+        .append("[5-cnt]DCP_D_valueIndex_traversedPointNum")
         .append(",")
-        .append(DCP_D_traversedPointNum)
+        .append(DCP_D_valueIndex_traversedPointNum)
         .append("\n");
 
     stringBuilder
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 27dac52c0b4..6c63f57282b 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
@@ -179,7 +179,7 @@ public class PageReader implements IPageReader {
       double foundValue = 0;
       // iterate SDT points from value big to small to find the first point 
not deleted
       for (int n = valueIndex.sortedModelPoints.size() - 1; n >= 0; n--) { // 
NOTE from big to small
-        IOMonitor2.DCP_D_traversedPointNum++; // TODO
+        IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
         ValuePoint valuePoint = valueIndex.sortedModelPoints.get(n);
         int idx = valuePoint.index; // index starting from 1
         int pos = idx - 1; // pos starting from 0
@@ -232,7 +232,7 @@ public class PageReader implements IPageReader {
       while (localCursor < valueIndex.modelPointIdx_list.size()
           && (idx1 = valueIndex.modelPointIdx_list.get(localCursor - 1)) - 1
               <= chunkSuit4CPV.endPos) {
-        IOMonitor2.DCP_D_traversedPointNum++; // TODO
+        IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
         idx2 = valueIndex.modelPointIdx_list.get(localCursor);
         double v1_UB = valueIndex.modelPointVal_list.get(localCursor - 1) + 
valueIndex.errorBound;
         double v2_UB = valueIndex.modelPointVal_list.get(localCursor) + 
valueIndex.errorBound;
@@ -310,7 +310,7 @@ public class PageReader implements IPageReader {
           for (int j = search_interval_start;
               j <= search_interval_end;
               j++) { // idx starting from 1
-            IOMonitor2.DCP_D_traversedPointNum++; // TODO
+            IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
             double v = valueBuffer.getDouble(timeBufferLength + (j - 1) * 8); 
// pos starting from 0
             long t = timeBuffer.getLong((j - 1) * 8); // pos starting from 0
             if (v > candidateTPvalue && !isDeleted_NoHistoryDeleteCursor(t)) {
@@ -327,7 +327,7 @@ public class PageReader implements IPageReader {
           int search_interval_start = prune_intervals_end.get(i) + 1; // 
included
           int search_interval_end = prune_intervals_start.get(i) - 1; // 
included
           for (int j = search_interval_start; j <= search_interval_end; j++) { 
// starting from 1
-            IOMonitor2.DCP_D_traversedPointNum++; // TODO
+            IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
             long v = valueBuffer.getLong(timeBufferLength + (j - 1) * 8);
             long t = timeBuffer.getLong((j - 1) * 8);
             if (v > candidateTPvalue && !isDeleted_NoHistoryDeleteCursor(t)) {
@@ -358,7 +358,7 @@ public class PageReader implements IPageReader {
       double foundValue = 0;
       // iterate SDT points from value small to big to find the first point 
not deleted
       for (int n = 0; n < valueIndex.sortedModelPoints.size(); n++) { // NOTE 
from small to big
-        IOMonitor2.DCP_D_traversedPointNum++; // TODO
+        IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
         ValuePoint valuePoint = valueIndex.sortedModelPoints.get(n);
         int idx = valuePoint.index; // index starting from 1
         int pos = idx - 1; // pos starting from 0
@@ -390,7 +390,7 @@ public class PageReader implements IPageReader {
       // time span
       while ((idx2 = 
valueIndex.modelPointIdx_list.get(chunkSuit4CPV.modelPointsCursor)) - 1
           < chunkSuit4CPV.startPos) {
-        IOMonitor2.DCP_D_traversedPointNum++; // TODO
+        IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
         // -1 because idx starting from 1 while pos starting from 0
         chunkSuit4CPV.modelPointsCursor++;
         // pointing to the right end of the first model segment that passes 
the left endpoint of the
@@ -412,7 +412,7 @@ public class PageReader implements IPageReader {
       while (localCursor < valueIndex.modelPointIdx_list.size()
           && (idx1 = valueIndex.modelPointIdx_list.get(localCursor - 1)) - 1
               <= chunkSuit4CPV.endPos) {
-        IOMonitor2.DCP_D_traversedPointNum++; // TODO
+        IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
         idx2 = valueIndex.modelPointIdx_list.get(localCursor);
         double v1_LB = valueIndex.modelPointVal_list.get(localCursor - 1) - 
valueIndex.errorBound;
         double v2_LB = valueIndex.modelPointVal_list.get(localCursor) - 
valueIndex.errorBound;
@@ -490,7 +490,7 @@ public class PageReader implements IPageReader {
           for (int j = search_interval_start;
               j <= search_interval_end;
               j++) { // idx starting from 1
-            IOMonitor2.DCP_D_traversedPointNum++; // TODO
+            IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
             double v = valueBuffer.getDouble(timeBufferLength + (j - 1) * 8); 
// pos starting from 0
             long t = timeBuffer.getLong((j - 1) * 8); // pos starting from 0
             if (v < candidateBPvalue && !isDeleted_NoHistoryDeleteCursor(t)) {
@@ -507,7 +507,7 @@ public class PageReader implements IPageReader {
           int search_interval_start = prune_intervals_end.get(i) + 1; // 
included
           int search_interval_end = prune_intervals_start.get(i) - 1; // 
included
           for (int j = search_interval_start; j <= search_interval_end; j++) { 
// starting from 1
-            IOMonitor2.DCP_D_traversedPointNum++; // TODO
+            IOMonitor2.DCP_D_valueIndex_traversedPointNum++; // TODO
             long v = valueBuffer.getLong(timeBufferLength + (j - 1) * 8);
             long t = timeBuffer.getLong((j - 1) * 8);
             if (v < candidateBPvalue && !isDeleted_NoHistoryDeleteCursor(t)) {
@@ -547,7 +547,7 @@ public class PageReader implements IPageReader {
     int count = 0; // update here, not in statistics
     for (int pos = chunkSuit4CPV.startPos; pos <= chunkSuit4CPV.endPos; pos++) 
{
       //      IOMonitor.incPointsTravered();
-      IOMonitor2.DCP_D_traversedPointNum++;
+      IOMonitor2.DCP_D_valueIndex_traversedPointNum++;
       long timestamp = timeBuffer.getLong(pos * 8);
       switch (dataType) {
         case INT64:
@@ -603,8 +603,7 @@ public class PageReader implements IPageReader {
     BatchData pageData = BatchDataFactory.createBatchData(dataType, ascending, 
false);
 
     while (timeDecoder.hasNext(timeBuffer)) {
-      //      IOMonitor.incPointsTravered();
-      IOMonitor2.DCP_D_traversedPointNum++;
+      IOMonitor2.DCP_D_getAllSatisfiedPageData_traversedPointNum++;
       long timestamp = timeDecoder.readLong(timeBuffer);
       switch (dataType) {
         case BOOLEAN:

Reply via email to