summaryrefslogtreecommitdiffstats
path: root/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java
diff options
context:
space:
mode:
Diffstat (limited to 'metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java
new file mode 100644
index 00000000000..7f5a7d0e64b
--- /dev/null
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/StatusCode.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+ */
+
+package ai.vespa.metricsproxy.metric.model;
+
+/**
+ * Status code for a Vespa service.
+ *
+ * @author gjoranv
+ */
+public enum StatusCode {
+
+ UP(0, "up"),
+ DOWN(1, "down"),
+ UNKNOWN(2, "unknown");
+
+ public final int code;
+ public final String status;
+
+ StatusCode(int code, String status) {
+ this.code = code;
+ this.status = status;
+ }
+
+ public static StatusCode fromString(String statusString) {
+ if ("ok".equalsIgnoreCase(statusString)) return UP;
+ try {
+ return valueOf(statusString.trim().toUpperCase());
+ } catch (IllegalArgumentException | NullPointerException e) {
+ return UNKNOWN;
+ }
+ }
+
+}