From 17fa2de27062a70b4fd337f27c670b9019c990a1 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Fri, 29 Apr 2016 07:50:24 +0000
Subject: [PATCH] OPENDJ-2968 Prevent console flooding for xxxrate tools

---
 opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java
index 573ca87..52279f5 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java
@@ -390,9 +390,12 @@
     }
 
     void addResponseTime(final long responseTimeNs) {
-        if (!warmingUp) {
-            waitDurationNsCount.inc(responseTimeNs);
+        // The computed response time might be negative if the difference between the two
+        // System.nanoTime() calls (Just before sending the request and right after receiving the response)
+        // is incoherent. See OPENDJ-2968 for more details.
+        if (!warmingUp && responseTimeNs >= 0) {
             responseTimes.update(responseTimeNs);
+            waitDurationNsCount.inc(responseTimeNs);
         }
     }
 

--
Gitblit v1.10.0