This is an automated email from the ASF dual-hosted git repository.

xingtanzjr pushed a commit to branch ml_0729_test_exp1
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/ml_0729_test_exp1 by this push:
     new 292b0743b0 add more metrics
292b0743b0 is described below

commit 292b0743b0a36c8089757cfdd4e33992854269ab
Author: Jinrui.Zhang <[email protected]>
AuthorDate: Fri Aug 5 09:29:33 2022 +0800

    add more metrics
---
 .../service/MultiLeaderRPCServiceProcessor.java    |  2 ++
 .../consensus/statemachine/BaseStateMachine.java   | 28 +++++++++++++---------
 .../statemachine/DataRegionStateMachine.java       |  4 ++++
 3 files changed, 23 insertions(+), 11 deletions(-)

diff --git 
a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
 
b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
index 8f2fbc7080..a9c97fa4d0 100644
--- 
a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
+++ 
b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
@@ -97,7 +97,9 @@ public class MultiLeaderRPCServiceProcessor implements 
MultiLeaderConsensusIServ
               impl.buildIndexedConsensusRequestForRemoteRequest(
                   currentSearchIndex, consensusRequests));
         }
+        long followerWriteRequestStartTime = System.nanoTime();
         impl.getStateMachine().multiLeaderWriteAsync(indexedConsensusRequests, 
resultHandler);
+        StepTracker.trace("followerWriteRequest", 
followerWriteRequestStartTime, System.nanoTime());
       }
     } catch (Exception e) {
       resultHandler.onError(e);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
 
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
index 245a44adc2..27d696129f 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.consensus.statemachine;
 
+import org.apache.iotdb.commons.StepTracker;
 import org.apache.iotdb.consensus.IStateMachine;
 import org.apache.iotdb.consensus.common.request.ByteBufferConsensusRequest;
 import org.apache.iotdb.consensus.common.request.IConsensusRequest;
@@ -61,17 +62,22 @@ public abstract class BaseStateMachine implements 
IStateMachine, IStateMachine.E
   }
 
   protected PlanNode getPlanNode(IConsensusRequest request) {
-    PlanNode node;
-    if (request instanceof ByteBufferConsensusRequest) {
-      node = PlanNodeType.deserialize(request.serializeToByteBuffer());
-    } else if (request instanceof MultiLeaderConsensusRequest) {
-      node = WALEntry.deserializeInsertNode(request.serializeToByteBuffer());
-    } else if (request instanceof PlanNode) {
-      node = (PlanNode) request;
-    } else {
-      logger.error("Unexpected IConsensusRequest : {}", request);
-      throw new IllegalArgumentException("Unexpected IConsensusRequest!");
+    long startTime = System.nanoTime();
+    try {
+      PlanNode node;
+      if (request instanceof ByteBufferConsensusRequest) {
+        node = PlanNodeType.deserialize(request.serializeToByteBuffer());
+      } else if (request instanceof MultiLeaderConsensusRequest) {
+        node = WALEntry.deserializeInsertNode(request.serializeToByteBuffer());
+      } else if (request instanceof PlanNode) {
+        node = (PlanNode) request;
+      } else {
+        logger.error("Unexpected IConsensusRequest : {}", request);
+        throw new IllegalArgumentException("Unexpected IConsensusRequest!");
+      }
+      return node;
+    } finally {
+      StepTracker.trace("deserializePlanNode", startTime, System.nanoTime());
     }
-    return node;
   }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
 
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
index c88782c5c7..8d403b5c4c 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
@@ -162,6 +162,7 @@ public class DataRegionStateMachine extends 
BaseStateMachine {
 
   public void multiLeaderWriteAsync(
       List<IndexedConsensusRequest> requests, AsyncMethodCallback<TSyncLogRes> 
resultHandler) {
+    long prepareStartTime = System.nanoTime();
     List<TSStatus> statuses = new LinkedList<>();
     try {
       List<InsertNode> insertNodesInAllRequests = new LinkedList<>();
@@ -181,12 +182,15 @@ public class DataRegionStateMachine extends 
BaseStateMachine {
           cacheAndGetLatestInsertNode(
               requests.get(0).getSyncIndex(), insertNodesInAllRequests, 
resultHandler);
       StepTracker.trace("cacheAndGet", startTime, System.nanoTime());
+      StepTracker.trace("followerWritePrepare", prepareStartTime, 
System.nanoTime());
+      long writeStartTime = System.nanoTime();
       if (insertNodeWrapper != null) {
         for (InsertNode insertNode : insertNodeWrapper.getInsertNodes()) {
           statuses.add(write(insertNode));
         }
         insertNodeWrapper.resultHandler.onComplete(new TSyncLogRes(statuses));
       }
+      StepTracker.trace("followerWriteInsert", writeStartTime, 
System.nanoTime());
     } catch (IllegalArgumentException e) {
       logger.error(e.getMessage(), e);
       resultHandler.onError(e);

Reply via email to