Github user anmolnar commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/307#discussion_r191199674 --- Diff: src/java/main/org/apache/zookeeper/server/ServerStats.java --- @@ -21,17 +21,33 @@ import org.apache.zookeeper.common.Time; +import org.apache.zookeeper.server.quorum.QuorumPeerConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.atomic.AtomicReference; /** * Basic Server Statistics */ public class ServerStats { + private static final Logger LOG = LoggerFactory.getLogger(ServerStats.class); + private long packetsSent; private long packetsReceived; private long maxLatency; private long minLatency = Long.MAX_VALUE; private long totalLatency = 0; private long count = 0; + private long numRequestsAboveThresholdTime = 0; + + final static long requestWarnThresholdMs = QuorumPeerConfig.getRequestWarnResponseThresholdMs(); + final static Timer timer = new Timer(); --- End diff -- Have you considered using `ScheduledExecutorService` instead? https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html
---