diff options
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.java | 35 |
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; + } + } + +} |