diff options
Diffstat (limited to 'vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java index 890f06dd094..f1335351ac6 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java @@ -10,6 +10,7 @@ import com.yahoo.metrics.simple.Point; import java.time.Duration; import java.time.Instant; +import java.util.EnumSet; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -52,16 +53,22 @@ public class DocumentApiMetrics { feeds.add(point); } - public void reportSuccessful(DocumentOperationType documentOperationType, Instant startTime) { - double latency = Duration.between(startTime, Instant.now()).toMillis() / 1000.0d; - reportSuccessful(documentOperationType, latency); - } - public void reportFailure(DocumentOperationType documentOperationType, DocumentOperationStatus documentOperationStatus) { Point point = points.get(documentOperationStatus).get(documentOperationType); feeds.add(point); } + public void report(DocumentOperationType type, Instant start, DocumentOperationStatus... status) { + double latency = latency(start); + for (var s : status) { + var point = points.get(s).get(type); + feedLatency.sample(latency, point); + feeds.add(point); + } + } + + private static double latency(Instant start) { return Duration.between(start, Instant.now()).toMillis() / 1000d; } + public void reportHttpRequest(String clientVersion) { if (clientVersion != null) { try { |