summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-01-30 14:49:40 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-01-30 15:07:13 +0100
commit5b9563e44eefb8bfc1c8f37fe55e71ec14be6a81 (patch)
treec802b3e187a7f37053e76b169aab573144618c58 /vespaclient-container-plugin
parentb229fe2920007ae37b87fe0b10e52ed7ef68949b (diff)
Introduce additional docv1 metrics for most common causes of failure
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java16
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/MetricNames.java3
2 files changed, 16 insertions, 3 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
index 1e2ee3968fa..373928a3e22 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
@@ -1115,8 +1115,11 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
incrementMetricNumOperations(); incrementMetricNumPuts(); sampleLatency(latency);
switch (outcome) {
case SUCCESS -> incrementMetricSucceeded();
+ case NOT_FOUND -> incrementMetricNotFound();
case CONDITION_FAILED -> incrementMetricConditionNotMet();
- default -> incrementMetricFailed();
+ case TIMEOUT -> { incrementMetricFailedTimeout(); incrementMetricFailed();}
+ case INSUFFICIENT_STORAGE -> { incrementMetricFailedInsufficientStorage(); incrementMetricFailed(); }
+ case ERROR -> { incrementMetricFailedUnknown(); incrementMetricFailed(); }
}
}
@@ -1127,7 +1130,9 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
case SUCCESS -> incrementMetricSucceeded();
case NOT_FOUND -> incrementMetricNotFound();
case CONDITION_FAILED -> incrementMetricConditionNotMet();
- default -> incrementMetricFailed();
+ case TIMEOUT -> { incrementMetricFailedTimeout(); incrementMetricFailed();}
+ case INSUFFICIENT_STORAGE -> { incrementMetricFailedInsufficientStorage(); incrementMetricFailed(); }
+ case ERROR -> { incrementMetricFailedUnknown(); incrementMetricFailed(); }
}
}
@@ -1136,7 +1141,9 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
switch (outcome) {
case SUCCESS,NOT_FOUND -> incrementMetricSucceeded();
case CONDITION_FAILED -> incrementMetricConditionNotMet();
- default -> incrementMetricFailed();
+ case TIMEOUT -> { incrementMetricFailedTimeout(); incrementMetricFailed();}
+ case INSUFFICIENT_STORAGE -> { incrementMetricFailedInsufficientStorage(); incrementMetricFailed(); }
+ case ERROR -> { incrementMetricFailedUnknown(); incrementMetricFailed(); }
}
}
@@ -1150,6 +1157,9 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private void incrementMetricSucceeded() { incrementMetric(MetricNames.SUCCEEDED); }
private void incrementMetricNotFound() { incrementMetric(MetricNames.NOT_FOUND); }
private void incrementMetricParseError() { incrementMetric(MetricNames.PARSE_ERROR); }
+ private void incrementMetricFailedUnknown() { incrementMetric(MetricNames.FAILED_UNKNOWN); }
+ private void incrementMetricFailedTimeout() { incrementMetric(MetricNames.FAILED_TIMEOUT); }
+ private void incrementMetricFailedInsufficientStorage() { incrementMetric(MetricNames.FAILED_INSUFFICIENT_STORAGE); }
private void incrementMetric(String n) { metric.add(n, 1, null); }
private void setMetric(String n, Number v) { metric.set(n, v, null); }
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/MetricNames.java b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/MetricNames.java
index a5987f2398e..1bb9ab4b062 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/MetricNames.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/MetricNames.java
@@ -23,6 +23,9 @@ public final class MetricNames {
public static final String PARSE_ERROR = PREFIX + "parse_error";
public static final String SUCCEEDED = PREFIX + "succeeded";
public static final String PENDING = PREFIX + "pending";
+ public static final String FAILED_UNKNOWN = FAILED + "_unknown";
+ public static final String FAILED_TIMEOUT = FAILED + "_timeout";
+ public static final String FAILED_INSUFFICIENT_STORAGE = FAILED + "_insufficient_storage";
private MetricNames() {
}