You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/07/07 12:34:31 UTC

[iotdb] 02/02: add step tracker

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

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

commit 2509fc7d1743f266d185bee4e26bc03d15a7cac5
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Thu Jul 7 20:34:19 2022 +0800

    add step tracker
---
 .../iotdb/consensus/multileader/client/DispatchLogHandler.java       | 5 +++++
 .../multileader/service/MultiLeaderRPCServiceProcessor.java          | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
index 14a2b4ad58..d10263b540 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/DispatchLogHandler.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.consensus.multileader.client;
 
+import org.apache.iotdb.commons.StepTracker;
 import org.apache.iotdb.consensus.multileader.logdispatcher.LogDispatcher.LogDispatcherThread;
 import org.apache.iotdb.consensus.multileader.logdispatcher.PendingBatch;
 import org.apache.iotdb.consensus.multileader.thrift.TSyncLogRes;
@@ -37,10 +38,12 @@ public class DispatchLogHandler implements AsyncMethodCallback<TSyncLogRes> {
   private final LogDispatcherThread thread;
   private final PendingBatch batch;
   private int retryCount;
+  private final long startTime;
 
   public DispatchLogHandler(LogDispatcherThread thread, PendingBatch batch) {
     this.thread = thread;
     this.batch = batch;
+    this.startTime = System.nanoTime();
   }
 
   @Override
@@ -58,6 +61,8 @@ public class DispatchLogHandler implements AsyncMethodCallback<TSyncLogRes> {
     } else {
       thread.getSyncStatus().removeBatch(batch);
     }
+    StepTracker.trace("dispatcherSendBatch", 10, startTime, System.nanoTime());
+    StepTracker.trace("dispatcherBatchSize", 10, 0, this.batch.getBatches().size() * 1000L);
   }
 
   @Override
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 196bf120ff..c8fe9fbfe2 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
@@ -20,6 +20,7 @@
 package org.apache.iotdb.consensus.multileader.service;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.commons.StepTracker;
 import org.apache.iotdb.commons.consensus.ConsensusGroupId;
 import org.apache.iotdb.consensus.common.request.ByteBufferConsensusRequest;
 import org.apache.iotdb.consensus.multileader.MultiLeaderConsensus;
@@ -52,6 +53,7 @@ public class MultiLeaderRPCServiceProcessor implements MultiLeaderConsensusIServ
   @Override
   public void syncLog(TSyncLogReq req, AsyncMethodCallback<TSyncLogRes> resultHandler)
       throws TException {
+    long startTime = System.nanoTime();
     try {
       ConsensusGroupId groupId =
           ConsensusGroupId.Factory.createFromTConsensusGroupId(req.getConsensusGroupId());
@@ -82,6 +84,8 @@ public class MultiLeaderRPCServiceProcessor implements MultiLeaderConsensusIServ
       resultHandler.onComplete(new TSyncLogRes(statuses));
     } catch (Exception e) {
       resultHandler.onError(e);
+    } finally {
+      StepTracker.trace("ProcessSyncLog", 10, startTime, System.nanoTime());
     }
   }