diff options
author | jonmv <venstad@gmail.com> | 2022-06-29 16:41:20 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-06-29 16:41:20 +0200 |
commit | 9128c7ae4083a7d36e5d861c5c60036629deea33 (patch) | |
tree | 4a4278f8e91a5259ee892413d5d6667763d0a3c4 /vespa-feed-client | |
parent | cbe98d69506bf60f7fcf7681eb99a79589300882 (diff) |
Wait a while for bunchmark thread to write stats before shutting it down
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, 11 insertions, 1 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 f59eee25d42..0a1ad1ee9b7 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 @@ -4,6 +4,7 @@ package ai.vespa.feed.client.impl; import ai.vespa.feed.client.HttpResponse; import ai.vespa.feed.client.OperationStats; +import java.time.Instant; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -80,12 +81,13 @@ public class BenchmarkingCluster implements Cluster { } private OperationStats getStats() { + long requests = this.requests.get(); + Map<Integer, Long> responses = new HashMap<>(); for (int code = 0; code < responsesByCode.length; code++) if (responsesByCode[code] > 0) responses.put(code, responsesByCode[code]); - long requests = this.requests.get(); return new OperationStats(requests, responses, exceptions, @@ -100,6 +102,14 @@ public class BenchmarkingCluster implements Cluster { @Override public void close() { delegate.close(); + Instant doom = Instant.now().plusSeconds(10); + while (Instant.now().isBefore(doom) && getStats().inflight() != 0) + try { + Thread.sleep(10); + } + catch (InterruptedException e) { + throw new RuntimeException(e); + } executor.shutdown(); } |