summaryrefslogtreecommitdiffstats
path: root/vespa-feed-client
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-04-05 09:49:43 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2024-04-05 09:49:43 +0200
commitbf7c818c5cc2ba91be13573e45e3578c28de29ba (patch)
tree4e61eaf5461060e1513d1545519926411f4d36b5 /vespa-feed-client
parentc6908fefe8f527312ade2e938d724cda754ac2ef (diff)
Print rate.
Diffstat (limited to 'vespa-feed-client')
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java12
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