diff options
author | valerijf <valerijf@yahoo-inc.com> | 2017-05-12 09:28:06 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2017-05-12 09:40:38 +0200 |
commit | 09be694323fbe1955c345e183d807d7c60e80c51 (patch) | |
tree | 71dd6c36587e0d256b6c57ec05a7faf17abbaaba /vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics | |
parent | bd6bb3b7518e3da3869d1f45741c0cd86795308a (diff) |
Code review fixes
Diffstat (limited to 'vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java (renamed from vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetricsHelper.java) | 16 | ||||
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java | 24 |
2 files changed, 22 insertions, 18 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetricsHelper.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java index 154f473630e..13c007a075e 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetricsHelper.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java @@ -6,19 +6,23 @@ import com.yahoo.metrics.simple.Gauge; import com.yahoo.metrics.simple.MetricReceiver; import com.yahoo.metrics.simple.Point; +import java.time.Duration; +import java.time.Instant; import java.util.HashMap; import java.util.Map; /** + * This class reports metrics for feed operations by APIs that use documentapi. + * * @author freva */ -public class DocumentApiMetricsHelper { +public class DocumentApiMetrics { private final Counter feeds; private final Gauge feedLatency; private final Map<DocumentOperationStatus, Map<DocumentOperationType, Point>> points = new HashMap<>(); - public DocumentApiMetricsHelper(MetricReceiver metricReceiver, String apiName) { + public DocumentApiMetrics(MetricReceiver metricReceiver, String apiName) { Map<String, String> dimensions = new HashMap<>(); dimensions.put("api", apiName); for (DocumentOperationStatus status : DocumentOperationStatus.values()) { @@ -34,15 +38,15 @@ public class DocumentApiMetricsHelper { feedLatency = metricReceiver.declareGauge("feed.latency"); } - public void reportSuccessful(DocumentOperationType documentOperationType, double latency) { + public void reportSuccessful(DocumentOperationType documentOperationType, double latencyInSeconds) { Point point = points.get(DocumentOperationStatus.OK).get(documentOperationType); - feedLatency.sample(latency, point); + feedLatency.sample(latencyInSeconds, point); feeds.add(point); } - public void reportSuccessful(DocumentOperationType documentOperationType, long startTime) { - final double latency = (System.currentTimeMillis() - startTime) / 1000.0d; + public void reportSuccessful(DocumentOperationType documentOperationType, Instant startTime) { + final double latency = Duration.between(startTime, Instant.now()).toMillis() / 1000.0d; reportSuccessful(documentOperationType, latency); } diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java index cdbaf645b6e..1513833eee8 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java @@ -6,24 +6,24 @@ import com.yahoo.document.restapi.OperationHandlerImpl; import java.util.Set; /** + * Enum with possible outcomes of a single document feeding operation: + * <ul> + * <li>OK: Document was successfully added/updated/removed</li> + * <li>REQUEST_ERROR: User-made error, for example invalid document format</li> + * <li>SERVER_ERROR: Server-made error, for example insufficient disk space</li> + * </ul> + * * @author freva */ -public enum DocumentOperationStatus { +public enum DocumentOperationStatus { OK, REQUEST_ERROR, SERVER_ERROR; public static DocumentOperationStatus fromHttpStatusCode(int httpStatus) { switch (httpStatus / 100) { - case 2: - return OK; - - case 4: - return REQUEST_ERROR; - - case 5: - return SERVER_ERROR; - - default: - return null; + case 2: return OK; + case 4: return REQUEST_ERROR; + case 5: return SERVER_ERROR; + default: return null; } } |