diff options
author | gjoranv <gjoranv@gmail.com> | 2023-08-18 13:34:03 +0200 |
---|---|---|
committer | gjoranv <gjoranv@gmail.com> | 2023-08-18 13:51:53 +0200 |
commit | 95c2e6060d431e9b281d7d69242d4779a267baa3 (patch) | |
tree | a0f578dd80e072f27793dd7bce55d93be3f01a7c /metrics | |
parent | 0e1b7684688e3a867f30dc1c5ebe901e0ca7b5b6 (diff) |
Introduce BasicMetricSets and use it from Default and Vespa sets.
Diffstat (limited to 'metrics')
3 files changed, 33 insertions, 15 deletions
diff --git a/metrics/src/main/java/ai/vespa/metrics/set/BasicMetricSets.java b/metrics/src/main/java/ai/vespa/metrics/set/BasicMetricSets.java new file mode 100644 index 00000000000..f167e654e6f --- /dev/null +++ b/metrics/src/main/java/ai/vespa/metrics/set/BasicMetricSets.java @@ -0,0 +1,23 @@ +package ai.vespa.metrics.set; + +import ai.vespa.metrics.ContainerMetrics; + +/** + * Defines metric sets that are meant to be used as building blocks for other metric sets. + * + * @author gjoranv + */ +public class BasicMetricSets { + + static MetricSet containerHttpStatusMetrics() { + return new MetricSet.Builder("basic-container-http-status") + .metric(ContainerMetrics.HTTP_STATUS_1XX.rate()) + + .metric(ContainerMetrics.HTTP_STATUS_2XX.rate()) + .metric(ContainerMetrics.HTTP_STATUS_3XX.rate()) + .metric(ContainerMetrics.HTTP_STATUS_4XX.rate()) + .metric(ContainerMetrics.HTTP_STATUS_5XX.rate()) + .build(); + } + +} diff --git a/metrics/src/main/java/ai/vespa/metrics/set/DefaultMetrics.java b/metrics/src/main/java/ai/vespa/metrics/set/DefaultMetrics.java index 0a19b69c852..6ef23b790cd 100644 --- a/metrics/src/main/java/ai/vespa/metrics/set/DefaultMetrics.java +++ b/metrics/src/main/java/ai/vespa/metrics/set/DefaultMetrics.java @@ -39,6 +39,7 @@ public class DefaultMetrics { return new MetricSet(defaultMetricSetId, List.of(), List.of(defaultVespaMetricSet, + BasicMetricSets.containerHttpStatusMetrics(), getContainerMetrics(), getSearchChainMetrics(), getDocprocMetrics(), @@ -53,11 +54,6 @@ public class DefaultMetrics { private static MetricSet getContainerMetrics() { return new MetricSet.Builder("default-container") - .metric(ContainerMetrics.HTTP_STATUS_1XX.rate()) - .metric(ContainerMetrics.HTTP_STATUS_2XX.rate()) - .metric(ContainerMetrics.HTTP_STATUS_3XX.rate()) - .metric(ContainerMetrics.HTTP_STATUS_4XX.rate()) - .metric(ContainerMetrics.HTTP_STATUS_5XX.rate()) .metric(ContainerMetrics.JDISC_GC_MS, EnumSet.of(max, average)) .metric(ContainerMetrics.MEM_HEAP_FREE.average()) .metric(ContainerMetrics.FEED_LATENCY, EnumSet.of(sum, count)) diff --git a/metrics/src/main/java/ai/vespa/metrics/set/VespaMetricSet.java b/metrics/src/main/java/ai/vespa/metrics/set/VespaMetricSet.java index bc8567b8bf5..18c5a637eb9 100644 --- a/metrics/src/main/java/ai/vespa/metrics/set/VespaMetricSet.java +++ b/metrics/src/main/java/ai/vespa/metrics/set/VespaMetricSet.java @@ -17,6 +17,7 @@ import ai.vespa.metrics.VespaMetrics; import java.util.Collections; import java.util.EnumSet; import java.util.LinkedHashSet; +import java.util.List; import java.util.Set; import static ai.vespa.metrics.Suffix.average; @@ -29,7 +30,6 @@ import static ai.vespa.metrics.Suffix.ninety_nine_percentile; import static ai.vespa.metrics.Suffix.rate; import static ai.vespa.metrics.Suffix.sum; import static ai.vespa.metrics.set.DefaultVespaMetrics.defaultVespaMetricSet; -import static java.util.Collections.singleton; /** * Encapsulates vespa service metrics. @@ -38,9 +38,14 @@ import static java.util.Collections.singleton; */ public class VespaMetricSet { - public static final MetricSet vespaMetricSet = new MetricSet("vespa", - getVespaMetrics(), - singleton(defaultVespaMetricSet)); + public static final MetricSet vespaMetricSet = createMetricSet(); + + private static MetricSet createMetricSet() { + return new MetricSet("vespa", + getVespaMetrics(), + List.of(defaultVespaMetricSet, + BasicMetricSets.containerHttpStatusMetrics())); + } private static Set<Metric> getVespaMetrics() { Set<Metric> metrics = new LinkedHashSet<>(); @@ -187,12 +192,6 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.ATHENZ_TENANT_CERT_EXPIRY_SECONDS, EnumSet.of(max, last)); // TODO: Vespa 9: Remove last addMetric(metrics, ContainerMetrics.CONTAINER_IAM_ROLE_EXPIRY_SECONDS.baseName()); - addMetric(metrics, ContainerMetrics.HTTP_STATUS_1XX.rate()); - addMetric(metrics, ContainerMetrics.HTTP_STATUS_2XX.rate()); - addMetric(metrics, ContainerMetrics.HTTP_STATUS_3XX.rate()); - addMetric(metrics, ContainerMetrics.HTTP_STATUS_4XX.rate()); - addMetric(metrics, ContainerMetrics.HTTP_STATUS_5XX.rate()); - addMetric(metrics, ContainerMetrics.JDISC_HTTP_REQUEST_PREMATURELY_CLOSED.rate()); addMetric(metrics, ContainerMetrics.JDISC_HTTP_REQUEST_REQUESTS_PER_CONNECTION, EnumSet.of(sum, count, min, max, average)); addMetric(metrics, ContainerMetrics.JDISC_HTTP_REQUEST_URI_LENGTH, EnumSet.of(sum, count, max)); |