Browse Source

ZOOKEEPER-3401: Fix metric PROPOSAL_ACK_CREATION_LATENCY

Author: Jie Huang <jiehuang@fb.com>

Reviewers: Enrico Olivelli <eolivelli@apache.org>, Norbert Kalmar <nkalmar@apache.org>

Closes #957 from jhuan31/ZOOKEEPER-3401
Jie Huang 6 years ago
parent
commit
bb94aa44de

+ 5 - 2
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/AckRequestProcessor.java

@@ -18,6 +18,7 @@
 
 package org.apache.zookeeper.server.quorum;
 
+import org.apache.zookeeper.server.ServerMetrics;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,10 +43,12 @@ class AckRequestProcessor implements RequestProcessor {
      */
     public void processRequest(Request request) {
         QuorumPeer self = leader.self;
-        if(self != null)
+        if(self != null) {
+            request.logLatency(ServerMetrics.getMetrics().PROPOSAL_ACK_CREATION_LATENCY);
             leader.processAck(self.getId(), request.zxid, null);
-        else
+        } else {
             LOG.error("Null QuorumPeer");
+        }
     }
 
     public void shutdown() {

+ 1 - 1
zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/LearnerMetricsTest.java

@@ -81,7 +81,7 @@ public class LearnerMetricsTest extends QuorumPeerTestBase {
         Assert.assertEquals(8L, values.get("learner_proposal_received_count"));
         Assert.assertEquals(8L, values.get("cnt_proposal_latency"));
         Assert.assertThat((long)values.get("min_proposal_latency"), greaterThan(0L));
-        Assert.assertEquals(8L, values.get("cnt_proposal_ack_creation_latency"));
+        Assert.assertEquals(10L, values.get("cnt_proposal_ack_creation_latency"));
         Assert.assertThat((long)values.get("min_proposal_ack_creation_latency"), greaterThan(0L));
 
         // there are five learners, each received two commits, one for leader election, one for the create request