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

yuyuankang pushed a commit to branch cluster_performance
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/cluster_performance by this 
push:
     new 87e2fa2  recEiver
87e2fa2 is described below

commit 87e2fa2b5db85f218b103244c80cee4edd9e241a
Author: Ring-k <[email protected]>
AuthorDate: Wed Sep 2 12:00:42 2020 +0800

    recEiver
---
 .../main/java/org/apache/iotdb/cluster/server/Timer.java | 16 ++++++++++++++++
 .../apache/iotdb/cluster/server/member/RaftMember.java   |  7 +++++++
 2 files changed, 23 insertions(+)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
index 4eb8516..a056734 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
@@ -33,6 +33,11 @@ public class Timer {
   public static AtomicLong raftMemberVoteCounterCounter = new AtomicLong(0);
   public static AtomicLong raftMemberLogParseMS = new AtomicLong(0);
   public static AtomicLong raftMemberLogParseCounter = new AtomicLong(0);
+  public static AtomicLong rafTMemberReceiverWaitForPrevLogMS = new 
AtomicLong(0);
+  public static AtomicLong rafTMemberReceiverWaitForPrevLogCounter = new 
AtomicLong(0);
+  public static AtomicLong rafTMemberMayBeAppendMS = new AtomicLong(0);
+  public static AtomicLong rafTMemberMayBeAppendCounter = new AtomicLong(0);
+
 
   private static final String dataGroupMemberProcessPlanLocallyMSString = 
"Data group member - process plan locally : ";
   private static final String dataGroupMemberWaitLeaderMSString = "Data group 
member - wait leader: ";
@@ -48,6 +53,8 @@ public class Timer {
   private static final String raftMemberSendLogAyncString = "Raft member - 
send log aync: ";
   private static final String raftMemberVoteCounterString = "Raft member - 
vote counter: ";
   private static final String raftMemberLogParseString = "Raft member - log 
parse: ";
+  private static final String rafTMemberReceiverWaitForPrevLogString = "Raft 
member - receiver wait for prev log: ";
+  private static final String rafTMemberMayBeAppendString = "Raft member - 
receiver wait for prev log: ";
 
 
 
@@ -116,6 +123,15 @@ public class Timer {
         + raftMemberLogParseMS.get()/1000000L + ", "
         + raftMemberLogParseCounter + ", "
         + (double) raftMemberLogParseMS.get()/1000000L / 
raftMemberLogParseCounter.get() + "\n";
+    result += rafTMemberReceiverWaitForPrevLogString
+        + rafTMemberReceiverWaitForPrevLogMS.get()/1000000L + ", "
+        + rafTMemberReceiverWaitForPrevLogCounter + ", "
+        + (double) rafTMemberReceiverWaitForPrevLogMS.get()/1000000L / 
rafTMemberReceiverWaitForPrevLogCounter.get() + "\n";
+    result += rafTMemberMayBeAppendString
+        + rafTMemberMayBeAppendMS.get()/1000000L + ", "
+        + rafTMemberMayBeAppendCounter + ", "
+        + (double) rafTMemberMayBeAppendMS.get()/1000000L / 
rafTMemberMayBeAppendCounter.get() + "\n";
+
     return result;
   }
 }
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 5304818..5e91492 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -439,6 +439,7 @@ public abstract class RaftMember {
   private long appendEntry(long prevLogIndex, long prevLogTerm, long 
leaderCommit, Log log) {
     long resp;
 
+    long start = System.nanoTime();
     long lastLogIndex = logManager.getLastLogIndex();
     if (lastLogIndex < prevLogIndex) {
       if (!waitForPrevLog(prevLogIndex)) {
@@ -446,6 +447,10 @@ public abstract class RaftMember {
       }
     }
 
+    Timer.rafTMemberReceiverWaitForPrevLogMS.addAndGet(System.nanoTime() - 
start);
+    Timer.rafTMemberReceiverWaitForPrevLogCounter.incrementAndGet();
+
+    start = System.nanoTime();
     synchronized (logManager) {
       long success = logManager.maybeAppend(prevLogIndex, prevLogTerm, 
leaderCommit, log);
       if (success != -1) {
@@ -456,6 +461,8 @@ public abstract class RaftMember {
         resp = Response.RESPONSE_LOG_MISMATCH;
       }
     }
+    Timer.rafTMemberMayBeAppendMS.addAndGet(System.nanoTime() - start);
+    Timer.rafTMemberMayBeAppendCounter.incrementAndGet();
     return resp;
   }
 

Reply via email to