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 694409ed1f1ce2db0128b920931689209ae3a0fe
Author: Lei Rui <[email protected]>
AuthorDate: Wed Jun 14 17:49:44 2023 +0800

    [important]add metric mapping from level3 to level4
---
 .../dataset/groupby/LocalGroupByExecutor4CPV.java  |   6 +
 .../iotdb/tsfile/read/common/IOMonitor2.java       | 440 ++++++++++++++-------
 2 files changed, 299 insertions(+), 147 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java
 
b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java
index 92026420e17..55f7629159a 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java
@@ -240,6 +240,8 @@ public class LocalGroupByExecutor4CPV implements 
GroupByExecutor {
   private void getCurrentChunkListFromFutureChunkList(
       long curStartTime, long curEndTime, long startTime, long endTime, long 
interval)
       throws IOException {
+    IOMonitor2.M4_LSM_status = Operation.M4_LSM_MERGE_M4_TIME_SPAN;
+
     // empty currentChunkList
     currentChunkList = new ArrayList<>();
 
@@ -348,6 +350,7 @@ public class LocalGroupByExecutor4CPV implements 
GroupByExecutor {
       long interval,
       long curStartTime)
       throws IOException {
+    IOMonitor2.M4_LSM_status = Operation.M4_LSM_BP;
     // check size>0 because after updateBPTP because empty ChunkSuit4CPV will 
be removed from
     // currentChunkList
     while (currentChunkList.size() > 0) { // loop 1
@@ -542,6 +545,7 @@ public class LocalGroupByExecutor4CPV implements 
GroupByExecutor {
       long interval,
       long curStartTime)
       throws IOException {
+    IOMonitor2.M4_LSM_status = Operation.M4_LSM_TP;
     // check size>0 because after updateBPTP empty ChunkSuit4CPV will be 
removed from
     // currentChunkList
     while (currentChunkList.size() > 0) { // loop 1
@@ -742,6 +746,7 @@ public class LocalGroupByExecutor4CPV implements 
GroupByExecutor {
       long interval,
       long curStartTime)
       throws IOException {
+    IOMonitor2.M4_LSM_status = Operation.M4_LSM_FP;
     while (currentChunkList.size() > 0) { // loop 1
       // sorted by startTime and version, find FP candidate
       currentChunkList.sort(
@@ -852,6 +857,7 @@ public class LocalGroupByExecutor4CPV implements 
GroupByExecutor {
       long interval,
       long curStartTime)
       throws IOException {
+    IOMonitor2.M4_LSM_status = Operation.M4_LSM_LP;
     while (currentChunkList.size() > 0) { // loop 1
       // sorted by endTime and version, find LP candidate
       currentChunkList.sort(
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 496bf9ab678..90bccfaf4ca 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
@@ -58,66 +58,128 @@ public class IOMonitor2 {
     }
   }
 
-  public static DataSetType dataSetType = DataSetType.NONE;
+  public static int DCP_Server_Query_Execute_count = 0; // level 2
+  public static long DCP_Server_Query_Execute_ns = 0; // level 2
+
+  public static int DCP_Server_Query_Fetch_count = 0; // level 2
+  public static long DCP_Server_Query_Fetch_ns = 0; // level 2
+
+  public static DataSetType dataSetType = DataSetType.NONE; // level 3
+
+  public static int M4_LSM_init_loadAllChunkMetadatas_count = 0; // level 3
+  public static long M4_LSM_init_loadAllChunkMetadatas_ns = 0; // level 3
+
+  public static int M4_LSM_merge_M4_time_span_count = 0; // level 3
+  public static long M4_LSM_merge_M4_time_span_ns = 0; // level 3
+
+  public static int M4_LSM_FP_count = 0; // level 3
+  public static long M4_LSM_FP_ns = 0; // level 3
+
+  public static int M4_LSM_LP_count = 0; // level 3
+  public static long M4_LSM_LP_ns = 0; // level 3
+
+  public static int M4_LSM_BP_count = 0; // level 3
+  public static long M4_LSM_BP_ns = 0; // level 3
+
+  public static int M4_LSM_TP_count = 0; // level 3
+  public static long M4_LSM_TP_ns = 0; // level 3
+
+  public static int DCP_A_GET_CHUNK_METADATAS_count = 0; // level 4
+  public static long DCP_A_GET_CHUNK_METADATAS_ns = 0; // level 4
+
+  public static int DCP_B_READ_MEM_CHUNK_count = 0; // level 4
+  public static long DCP_B_READ_MEM_CHUNK_ns = 0; // level 4
+
+  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
+
+  public static int SEARCH_ARRAY_b_genFP_count = 0; // level 4
+  public static long SEARCH_ARRAY_b_genFP_ns = 0; // level 4
+
+  public static int SEARCH_ARRAY_b_genLP_count = 0; // level 4
+  public static long SEARCH_ARRAY_b_genLP_ns = 0; // level 4
+
+  public static int SEARCH_ARRAY_c_genBPTP_count = 0; // level 4
+  public static long SEARCH_ARRAY_c_genBPTP_ns = 0; // level 4
+
+  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
+  public static int 
M4_LSM_merge_M4_time_span_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt =
+      0; // map from level 3 to 4
+  public static int M4_LSM_merge_M4_time_span_SEARCH_ARRAY_a_verifBPTP_cnt =
+      0; // map from level 3 to 4
+  public static int M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genFP_cnt = 0; // 
map from level 3 to 4
+  public static int M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genLP_cnt = 0; // 
map from level 3 to 4
+  public static int M4_LSM_merge_M4_time_span_SEARCH_ARRAY_c_genBPTP_cnt =
+      0; // map from level 3 to 4
+  public static int M4_LSM_FP_B_READ_MEM_CHUNK_cnt = 0; // map from level 3 to 
4
+  public static int M4_LSM_FP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt 
=
+      0; // map from level 3 to 4
+  public static int M4_LSM_FP_SEARCH_ARRAY_a_verifBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_FP_SEARCH_ARRAY_b_genFP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_FP_SEARCH_ARRAY_b_genLP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_FP_SEARCH_ARRAY_c_genBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_LP_B_READ_MEM_CHUNK_cnt = 0; // map from level 3 to 
4
+  public static int M4_LSM_LP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt 
=
+      0; // map from level 3 to 4
+  public static int M4_LSM_LP_SEARCH_ARRAY_a_verifBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_LP_SEARCH_ARRAY_b_genFP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_LP_SEARCH_ARRAY_b_genLP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_LP_SEARCH_ARRAY_c_genBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_BP_B_READ_MEM_CHUNK_cnt = 0; // map from level 3 to 
4
+  public static int M4_LSM_BP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt 
=
+      0; // map from level 3 to 4
+  public static int M4_LSM_BP_SEARCH_ARRAY_a_verifBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_BP_SEARCH_ARRAY_b_genFP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_BP_SEARCH_ARRAY_b_genLP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_BP_SEARCH_ARRAY_c_genBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_TP_B_READ_MEM_CHUNK_cnt = 0; // map from level 3 to 
4
+  public static int M4_LSM_TP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt 
=
+      0; // map from level 3 to 4
+  public static int M4_LSM_TP_SEARCH_ARRAY_a_verifBPTP_cnt = 0; // map from 
level 3 to 4
+  public static int M4_LSM_TP_SEARCH_ARRAY_b_genFP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_TP_SEARCH_ARRAY_b_genLP_cnt = 0; // map from level 
3 to 4
+  public static int M4_LSM_TP_SEARCH_ARRAY_c_genBPTP_cnt = 0; // map from 
level 3 to 4
 
-  public static int DCP_Server_Query_Execute_count = 0;
-  public static long DCP_Server_Query_Execute_ns = 0;
-
-  public static int DCP_Server_Query_Fetch_count = 0;
-  public static long DCP_Server_Query_Fetch_ns = 0;
-
-  public static int DCP_A_GET_CHUNK_METADATAS_count = 0;
-  public static long DCP_A_GET_CHUNK_METADATAS_ns = 0;
-
-  public static int DCP_B_READ_MEM_CHUNK_count = 0;
-  public static long DCP_B_READ_MEM_CHUNK_ns = 0;
-
-  public static int DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count = 0;
-  public static long DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_ns = 0;
-
-  public static long DCP_D_traversedPointNum = 0;
-  public static int DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count = 0;
-  public static long DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_ns = 0;
-
-  public static int SEARCH_ARRAY_a_verifBPTP_count = 0;
-  public static long SEARCH_ARRAY_a_verifBPTP_ns = 0;
-
-  public static int SEARCH_ARRAY_b_genFP_count = 0;
-  public static long SEARCH_ARRAY_b_genFP_ns = 0;
-
-  public static int SEARCH_ARRAY_b_genLP_count = 0;
-  public static long SEARCH_ARRAY_b_genLP_ns = 0;
-
-  public static int SEARCH_ARRAY_c_genBPTP_count = 0;
-  public static long SEARCH_ARRAY_c_genBPTP_ns = 0;
-
-  public static int M4_LSM_init_loadAllChunkMetadatas_count = 0;
-  public static long M4_LSM_init_loadAllChunkMetadatas_ns = 0;
+  private static void reset() {
+    // level 1 is client elapsed time, not measured by the server side
+    /** level 2: server execute & fetch */
+    DCP_Server_Query_Execute_count = 0;
+    DCP_Server_Query_Execute_ns = 0;
 
-  public static int M4_LSM_merge_M4_time_span_count = 0;
-  public static long M4_LSM_merge_M4_time_span_ns = 0;
+    DCP_Server_Query_Fetch_count = 0;
+    DCP_Server_Query_Fetch_ns = 0;
 
-  public static int M4_LSM_FP_count = 0;
-  public static long M4_LSM_FP_ns = 0;
+    /** level 3 */
+    dataSetType = DataSetType.NONE;
 
-  public static int M4_LSM_LP_count = 0;
-  public static long M4_LSM_LP_ns = 0;
+    M4_LSM_init_loadAllChunkMetadatas_count = 0;
+    M4_LSM_init_loadAllChunkMetadatas_ns = 0;
 
-  public static int M4_LSM_BP_count = 0;
-  public static long M4_LSM_BP_ns = 0;
+    M4_LSM_merge_M4_time_span_count = 0;
+    M4_LSM_merge_M4_time_span_ns = 0;
 
-  public static int M4_LSM_TP_count = 0;
-  public static long M4_LSM_TP_ns = 0;
+    M4_LSM_FP_count = 0;
+    M4_LSM_FP_ns = 0;
 
-  private static void reset() {
-    dataSetType = DataSetType.NONE;
+    M4_LSM_LP_count = 0;
+    M4_LSM_LP_ns = 0;
 
-    DCP_Server_Query_Execute_count = 0;
-    DCP_Server_Query_Execute_ns = 0;
+    M4_LSM_BP_count = 0;
+    M4_LSM_BP_ns = 0;
 
-    DCP_Server_Query_Fetch_count = 0;
-    DCP_Server_Query_Fetch_ns = 0;
+    M4_LSM_TP_count = 0;
+    M4_LSM_TP_ns = 0;
 
+    /** level 4 */
     DCP_A_GET_CHUNK_METADATAS_count = 0;
     DCP_A_GET_CHUNK_METADATAS_ns = 0;
 
@@ -128,6 +190,7 @@ public class IOMonitor2 {
     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;
 
@@ -140,23 +203,43 @@ public class IOMonitor2 {
     SEARCH_ARRAY_c_genBPTP_count = 0;
     SEARCH_ARRAY_c_genBPTP_ns = 0;
 
-    M4_LSM_init_loadAllChunkMetadatas_count = 0;
-    M4_LSM_init_loadAllChunkMetadatas_ns = 0;
-
-    M4_LSM_merge_M4_time_span_count = 0;
-    M4_LSM_merge_M4_time_span_ns = 0;
-
-    M4_LSM_FP_count = 0;
-    M4_LSM_FP_ns = 0;
-
-    M4_LSM_LP_count = 0;
-    M4_LSM_LP_ns = 0;
-
-    M4_LSM_BP_count = 0;
-    M4_LSM_BP_ns = 0;
-
-    M4_LSM_TP_count = 0;
-    M4_LSM_TP_ns = 0;
+    /** map from level 3 to level 4 */
+    M4_LSM_status = null;
+    M4_LSM_merge_M4_time_span_B_READ_MEM_CHUNK_cnt =
+        0; // for counting the number of calling BCD by each step of M4-LSM
+    M4_LSM_merge_M4_time_span_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt 
= 0;
+    M4_LSM_merge_M4_time_span_SEARCH_ARRAY_a_verifBPTP_cnt = 0;
+    M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genFP_cnt = 0;
+    M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genLP_cnt = 0;
+    M4_LSM_merge_M4_time_span_SEARCH_ARRAY_c_genBPTP_cnt = 0;
+    M4_LSM_FP_B_READ_MEM_CHUNK_cnt =
+        0; // for counting the number of calling BCD by each step of M4-LSM
+    M4_LSM_FP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt = 0;
+    M4_LSM_FP_SEARCH_ARRAY_a_verifBPTP_cnt = 0;
+    M4_LSM_FP_SEARCH_ARRAY_b_genFP_cnt = 0;
+    M4_LSM_FP_SEARCH_ARRAY_b_genLP_cnt = 0;
+    M4_LSM_FP_SEARCH_ARRAY_c_genBPTP_cnt = 0;
+    M4_LSM_LP_B_READ_MEM_CHUNK_cnt =
+        0; // for counting the number of calling BCD by each step of M4-LSM
+    M4_LSM_LP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt = 0;
+    M4_LSM_LP_SEARCH_ARRAY_a_verifBPTP_cnt = 0;
+    M4_LSM_LP_SEARCH_ARRAY_b_genFP_cnt = 0;
+    M4_LSM_LP_SEARCH_ARRAY_b_genLP_cnt = 0;
+    M4_LSM_LP_SEARCH_ARRAY_c_genBPTP_cnt = 0;
+    M4_LSM_BP_B_READ_MEM_CHUNK_cnt =
+        0; // for counting the number of calling BCD by each step of M4-LSM
+    M4_LSM_BP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt = 0;
+    M4_LSM_BP_SEARCH_ARRAY_a_verifBPTP_cnt = 0;
+    M4_LSM_BP_SEARCH_ARRAY_b_genFP_cnt = 0;
+    M4_LSM_BP_SEARCH_ARRAY_b_genLP_cnt = 0;
+    M4_LSM_BP_SEARCH_ARRAY_c_genBPTP_cnt = 0;
+    M4_LSM_TP_B_READ_MEM_CHUNK_cnt =
+        0; // for counting the number of calling BCD by each step of M4-LSM
+    M4_LSM_TP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt = 0;
+    M4_LSM_TP_SEARCH_ARRAY_a_verifBPTP_cnt = 0;
+    M4_LSM_TP_SEARCH_ARRAY_b_genFP_cnt = 0;
+    M4_LSM_TP_SEARCH_ARRAY_b_genLP_cnt = 0;
+    M4_LSM_TP_SEARCH_ARRAY_c_genBPTP_cnt = 0;
   }
 
   public static void addMeasure(Operation operation, long 
elapsedTimeInNanosecond) {
@@ -169,38 +252,6 @@ public class IOMonitor2 {
         DCP_Server_Query_Fetch_count++;
         DCP_Server_Query_Fetch_ns += elapsedTimeInNanosecond;
         break;
-      case DCP_A_GET_CHUNK_METADATAS:
-        DCP_A_GET_CHUNK_METADATAS_count++;
-        DCP_A_GET_CHUNK_METADATAS_ns += elapsedTimeInNanosecond;
-        break;
-      case DCP_B_READ_MEM_CHUNK:
-        DCP_B_READ_MEM_CHUNK_count++;
-        DCP_B_READ_MEM_CHUNK_ns += elapsedTimeInNanosecond;
-        break;
-      case DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA:
-        DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count++;
-        DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_ns += 
elapsedTimeInNanosecond;
-        break;
-      case DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS:
-        DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count++;
-        DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_ns += elapsedTimeInNanosecond;
-        break;
-      case SEARCH_ARRAY_a_verifBPTP:
-        SEARCH_ARRAY_a_verifBPTP_count++;
-        SEARCH_ARRAY_a_verifBPTP_ns += elapsedTimeInNanosecond;
-        break;
-      case SEARCH_ARRAY_b_genFP:
-        SEARCH_ARRAY_b_genFP_count++;
-        SEARCH_ARRAY_b_genFP_ns += elapsedTimeInNanosecond;
-        break;
-      case SEARCH_ARRAY_b_genLP:
-        SEARCH_ARRAY_b_genLP_count++;
-        SEARCH_ARRAY_b_genLP_ns += elapsedTimeInNanosecond;
-        break;
-      case SEARCH_ARRAY_c_genBPTP:
-        SEARCH_ARRAY_c_genBPTP_count++;
-        SEARCH_ARRAY_c_genBPTP_ns += elapsedTimeInNanosecond;
-        break;
       case M4_LSM_INIT_LOAD_ALL_CHUNKMETADATAS:
         M4_LSM_init_loadAllChunkMetadatas_count++;
         M4_LSM_init_loadAllChunkMetadatas_ns += elapsedTimeInNanosecond;
@@ -225,77 +276,172 @@ public class IOMonitor2 {
         M4_LSM_TP_count++;
         M4_LSM_TP_ns += elapsedTimeInNanosecond;
         break;
-      default:
-        System.out.println("not supported operation type"); // this will not 
happen
-        break;
-    }
-  }
-
-  public static void addMeasure(Operation operation, long 
elapsedTimeInNanosecond, int count) {
-    switch (operation) {
-      case DCP_Server_Query_Execute:
-        DCP_Server_Query_Execute_count += count;
-        DCP_Server_Query_Execute_ns += elapsedTimeInNanosecond;
-        break;
-      case DCP_Server_Query_Fetch:
-        DCP_Server_Query_Fetch_count += count;
-        DCP_Server_Query_Fetch_ns += elapsedTimeInNanosecond;
-        break;
       case DCP_A_GET_CHUNK_METADATAS:
-        DCP_A_GET_CHUNK_METADATAS_count += count;
+        DCP_A_GET_CHUNK_METADATAS_count++;
         DCP_A_GET_CHUNK_METADATAS_ns += elapsedTimeInNanosecond;
         break;
       case DCP_B_READ_MEM_CHUNK:
-        DCP_B_READ_MEM_CHUNK_count += count;
+        DCP_B_READ_MEM_CHUNK_count++;
         DCP_B_READ_MEM_CHUNK_ns += elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              M4_LSM_merge_M4_time_span_B_READ_MEM_CHUNK_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_B_READ_MEM_CHUNK_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_B_READ_MEM_CHUNK_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_B_READ_MEM_CHUNK_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_B_READ_MEM_CHUNK_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       case DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA:
-        DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count += count;
+        DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_count++;
         DCP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_ns += 
elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          // this actually can be omitted because the number is equal to B as 
chunk = page in this
+          // case
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              
M4_LSM_merge_M4_time_span_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_C_DESERIALIZE_PAGEHEADER_DECOMPRESS_PAGEDATA_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       case DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS:
-        DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count += count;
+        DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_count++;
         DCP_D_DECODE_PAGEDATA_TRAVERSE_POINTS_ns += elapsedTimeInNanosecond;
+        // M4-LSM will not use this op
         break;
       case SEARCH_ARRAY_a_verifBPTP:
-        SEARCH_ARRAY_a_verifBPTP_count += count;
+        SEARCH_ARRAY_a_verifBPTP_count++;
         SEARCH_ARRAY_a_verifBPTP_ns += elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              M4_LSM_merge_M4_time_span_SEARCH_ARRAY_a_verifBPTP_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_SEARCH_ARRAY_a_verifBPTP_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_SEARCH_ARRAY_a_verifBPTP_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_SEARCH_ARRAY_a_verifBPTP_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_SEARCH_ARRAY_a_verifBPTP_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       case SEARCH_ARRAY_b_genFP:
-        SEARCH_ARRAY_b_genFP_count += count;
+        SEARCH_ARRAY_b_genFP_count++;
         SEARCH_ARRAY_b_genFP_ns += elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genFP_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_SEARCH_ARRAY_b_genFP_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_SEARCH_ARRAY_b_genFP_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_SEARCH_ARRAY_b_genFP_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_SEARCH_ARRAY_b_genFP_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       case SEARCH_ARRAY_b_genLP:
-        SEARCH_ARRAY_b_genLP_count += count;
+        SEARCH_ARRAY_b_genLP_count++;
         SEARCH_ARRAY_b_genLP_ns += elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              M4_LSM_merge_M4_time_span_SEARCH_ARRAY_b_genLP_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_SEARCH_ARRAY_b_genLP_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_SEARCH_ARRAY_b_genLP_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_SEARCH_ARRAY_b_genLP_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_SEARCH_ARRAY_b_genLP_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       case SEARCH_ARRAY_c_genBPTP:
-        SEARCH_ARRAY_c_genBPTP_count += count;
+        SEARCH_ARRAY_c_genBPTP_count++;
         SEARCH_ARRAY_c_genBPTP_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_INIT_LOAD_ALL_CHUNKMETADATAS:
-        M4_LSM_init_loadAllChunkMetadatas_count += count;
-        M4_LSM_init_loadAllChunkMetadatas_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_MERGE_M4_TIME_SPAN:
-        M4_LSM_merge_M4_time_span_count += count;
-        M4_LSM_merge_M4_time_span_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_FP:
-        M4_LSM_FP_count += count;
-        M4_LSM_FP_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_LP:
-        M4_LSM_LP_count += count;
-        M4_LSM_LP_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_BP:
-        M4_LSM_BP_count += count;
-        M4_LSM_BP_ns += elapsedTimeInNanosecond;
-        break;
-      case M4_LSM_TP:
-        M4_LSM_TP_count += count;
-        M4_LSM_TP_ns += elapsedTimeInNanosecond;
+        if (M4_LSM_status != null) {
+          switch (M4_LSM_status) {
+            case M4_LSM_MERGE_M4_TIME_SPAN:
+              M4_LSM_merge_M4_time_span_SEARCH_ARRAY_c_genBPTP_cnt++;
+              break;
+            case M4_LSM_FP:
+              M4_LSM_FP_SEARCH_ARRAY_c_genBPTP_cnt++;
+              break;
+            case M4_LSM_LP:
+              M4_LSM_LP_SEARCH_ARRAY_c_genBPTP_cnt++;
+              break;
+            case M4_LSM_BP:
+              M4_LSM_BP_SEARCH_ARRAY_c_genBPTP_cnt++;
+              break;
+            case M4_LSM_TP:
+              M4_LSM_TP_SEARCH_ARRAY_c_genBPTP_cnt++;
+              break;
+            default:
+              System.out.println("unsupported M4_LSM_status!");
+              break;
+          }
+        }
         break;
       default:
         System.out.println("not supported operation type"); // this will not 
happen

Reply via email to