diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-05 09:49:43 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-04-05 09:49:43 +0200 |
commit | bf7c818c5cc2ba91be13573e45e3578c28de29ba (patch) | |
tree | 4e61eaf5461060e1513d1545519926411f4d36b5 /vespa-feed-client | |
parent | c6908fefe8f527312ade2e938d724cda754ac2ef (diff) |
Print rate.
Diffstat (limited to 'vespa-feed-client')
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java index 753bc0240d3..afe4773988c 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java @@ -26,6 +26,7 @@ public class BenchmarkingCluster implements Cluster { return thread; }); + private final AtomicLong timeOfFirstDispatch = new AtomicLong(0); private final AtomicLong requests = new AtomicLong(); private long results = 0; private long responses = 0; @@ -45,6 +46,9 @@ public class BenchmarkingCluster implements Cluster { public void dispatch(HttpRequest request, CompletableFuture<HttpResponse> vessel) { requests.incrementAndGet(); long startNanos = System.nanoTime(); + if (timeOfFirstDispatch.get() == 0) { + timeOfFirstDispatch.set(startNanos); + } delegate.dispatch(request, vessel); vessel.whenCompleteAsync((response, thrown) -> { results++; @@ -88,15 +92,13 @@ public class BenchmarkingCluster implements Cluster { if (responsesByCode[code] > 0) responses.put(code, responsesByCode[code]); - return new OperationStats(requests, - responses, - exceptions, + double duration = (System.nanoTime() - timeOfFirstDispatch.get())*1e-9; + return new OperationStats(duration, requests, responses, exceptions, requests - results, this.responses == 0 ? -1 : totalLatencyMillis / this.responses, this.responses == 0 ? -1 : minLatencyMillis, this.responses == 0 ? -1 : maxLatencyMillis, - bytesSent, - bytesReceived); + bytesSent, bytesReceived); } @Override |