From 81ff2fed4a50dbc2f9f82a9a59f2d880fb6358c1 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Tue, 10 Jan 2023 12:16:12 +0100 Subject: Add a global enum for container metric definitions. - Populated with only a few metrics at first. --- .../java/com/yahoo/metrics/ContainerMetrics.java | 71 ++++++++++++++++++++++ .../src/main/java/com/yahoo/metrics/Suffix.java | 24 ++++++++ 2 files changed, 95 insertions(+) create mode 100644 container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java create mode 100644 container-core/src/main/java/com/yahoo/metrics/Suffix.java (limited to 'container-core/src') diff --git a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java new file mode 100644 index 00000000000..3df7454160c --- /dev/null +++ b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java @@ -0,0 +1,71 @@ +package com.yahoo.metrics; + +/** + * @author gjoranv + */ +public enum ContainerMetrics { + + HTTP_STATUS_1XX("http.status.1xx", "Number of responses with a 1xx status"), + HTTP_STATUS_2XX("http.status.2xx", "Number of responses with a 2xx status"), + HTTP_STATUS_3XX("http.status.3xx", "Number of responses with a 3xx status"), + HTTP_STATUS_4XX("http.status.4xx", "Number of responses with a 4xx status"), + HTTP_STATUS_5XX("http.status.5xx", "Number of responses with a 5xx status"), + JDISC_GC_MS("jdisc.gc.ms", "Time [ms] spent in garbage collection"); + + private final String name; + private final String description; + + ContainerMetrics(String name, String description) { + this.name = name; + this.description = description; + } + + public String baseName() { + return name; + } + + public String description() { + return description; + } + + private String withSuffix(Suffix suffix) { + return baseName() + "." + suffix.suffix(); + } + + public String ninety_five_percentile() { + return withSuffix(Suffix.ninety_five_percentile); + } + + public String ninety_nine_percentile() { + return withSuffix(Suffix.ninety_nine_percentile); + } + + public String average() { + return withSuffix(Suffix.average); + } + + public String count() { + return withSuffix(Suffix.count); + } + + public String last() { + return withSuffix(Suffix.last); + } + + public String max() { + return withSuffix(Suffix.max); + } + + public String min() { + return withSuffix(Suffix.min); + } + + public String rate() { + return withSuffix(Suffix.rate); + } + + public String sum() { + return withSuffix(Suffix.sum); + } + +} \ No newline at end of file diff --git a/container-core/src/main/java/com/yahoo/metrics/Suffix.java b/container-core/src/main/java/com/yahoo/metrics/Suffix.java new file mode 100644 index 00000000000..16dfd428f6c --- /dev/null +++ b/container-core/src/main/java/com/yahoo/metrics/Suffix.java @@ -0,0 +1,24 @@ +package com.yahoo.metrics; + +public enum Suffix { + ninety_five_percentile("95percentile"), + ninety_nine_percentile("99percentile"), + average("average"), + count("count"), + last("last"), + max("max"), + min("min"), + rate("rate"), + sum("sum"); + + private final String suffix; + + Suffix(String suffix) { + this.suffix = suffix; + } + + public String suffix() { + return suffix; + } + +} -- cgit v1.2.3