aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2023-02-06 11:06:41 +0100
committerOla Aunronning <olaa@yahooinc.com>2023-02-06 11:06:41 +0100
commitb28e5ee0dd8bd542c63b9a763aa43bb18e00719a (patch)
tree4b5a1a17337e5dfe3934f80c49904319cdf1a069 /metrics-proxy
parent75ced2208e64da01c99c7fff4b39c017ef2cb2b0 (diff)
Enum dimension set
Diffstat (limited to 'metrics-proxy')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/PublicDimensionsProcessor.java12
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/BlocklistDimensions.java97
2 files changed, 47 insertions, 62 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/PublicDimensionsProcessor.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/PublicDimensionsProcessor.java
index 639f642778e..1ade79521f2 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/PublicDimensionsProcessor.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/PublicDimensionsProcessor.java
@@ -19,7 +19,7 @@ import java.util.stream.Collectors;
*/
public class PublicDimensionsProcessor implements MetricsProcessor {
- private final Set<DimensionId> blocklistDimensions = getBlocklistDimensions();
+ private final Set<DimensionId> blocklistDimensions = BlocklistDimensions.getAll();
@Override
public void process(MetricsPacket.Builder builder) {
@@ -28,14 +28,4 @@ public class PublicDimensionsProcessor implements MetricsProcessor {
builder.retainDimensions(dimensionsToRetain);
}
- static Set<DimensionId> getBlocklistDimensions() {
- return toDimensionIds(BlocklistDimensions.blocklistDimensions);
- }
-
- static Set<DimensionId> toDimensionIds(Collection<String> dimensionNames) {
- return dimensionNames.stream()
- .map(DimensionId::toDimensionId)
- .collect(Collectors.toCollection(LinkedHashSet::new));
-
- }
}
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/BlocklistDimensions.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/BlocklistDimensions.java
index 014bed8d54a..964a7fbf7c8 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/BlocklistDimensions.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/BlocklistDimensions.java
@@ -1,73 +1,68 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package ai.vespa.metricsproxy.metric.dimensions;
+import ai.vespa.metricsproxy.metric.model.DimensionId;
+
+import java.util.EnumSet;
+import java.util.LinkedHashSet;
import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* @author olaa
*/
-public class BlocklistDimensions {
-
- private BlocklistDimensions() {}
+public enum BlocklistDimensions {
/**
* Deployment related metrics - most of which are redundant
* E.g. app/applicationName/tenantName/instanceName is already included in applicationId
*/
- public static final String APP = "app";
- public static final String APPLICATION_NAME = "applicationName";
- public static final String CLUSTER_NAME = "clustername";
- public static final String CLUSTER_ID = "clusterid";
- public static final String CLUSTER_TYPE = "clustertype";
- public static final String DEPLOYMENT_CLUSTER = "deploymentCluster";
- public static final String GROUP_ID = "groupId";
- public static final String INSTANCE = "instance";
- public static final String INSTANCE_NAME = "instanceName";
- public static final String TENANT_NAME = "tenantName";
+ APP("app"),
+ APPLICATION_NAME("applicationName"),
+ CLUSTER_NAME("clustername"),
+ CLUSTER_ID("clusterid"),
+ CLUSTER_TYPE("clustertype"),
+ DEPLOYMENT_CLUSTER("deploymentCluster"),
+ GROUP_ID("groupId"),
+ INSTANCE("instance"),
+ INSTANCE_NAME("instanceName"),
+ TENANT_NAME("tenantName"),
/**
* State related dimensions - will always be the same value for a given snapshot
*/
- public static final String METRIC_TYPE = "metrictype";
- public static final String ORCHESTRATOR_STATE = "orchestratorState";
- public static final String ROLE = "role";
- public static final String STATE = "state";
- public static final String SYSTEM = "system";
- public static final String VESPA_VERSION = "vespaVersion";
+ METRIC_TYPE("metrictype"),
+ ORCHESTRATOR_STATE("orchestratorState"),
+ ROLE("role"),
+ STATE("state"),
+ SYSTEM("system"),
+ VESPA_VERSION("vespaVersion"),
/** Metric specific dimensions **/
- public static final String ARCHITECTURE = "arch";
- public static final String AUTHZ_REQUIRED = "authz-required";
- public static final String HOME = "home";
- public static final String PORT = "port";
- public static final String SCHEME = "scheme";
- public static final String DRYRUN = "dryrun";
- public static final String VERSION = "version";
+ ARCHITECTURE("arch"),
+ AUTHZ_REQUIRED("authz-equired"),
+ HOME("home"),
+ PORT("port"),
+ SCHEME("scheme"),
+ DRYRUN("dryrun"),
+ VERSION("version");
+
+ private final DimensionId dimensionId;
+
+ BlocklistDimensions(String dimensionId) {
+ this.dimensionId = DimensionId.toDimensionId(dimensionId);
+ }
+
+ public DimensionId getDimensionId() {
+ return dimensionId;
+ }
- public static final List<String> blocklistDimensions = List.of(
- APP,
- APPLICATION_NAME,
- CLUSTER_NAME,
- CLUSTER_ID,
- CLUSTER_TYPE,
- DEPLOYMENT_CLUSTER,
- GROUP_ID,
- INSTANCE,
- INSTANCE_NAME,
- TENANT_NAME,
- METRIC_TYPE,
- ORCHESTRATOR_STATE,
- ROLE,
- STATE,
- SYSTEM,
- VESPA_VERSION,
- ARCHITECTURE,
- AUTHZ_REQUIRED,
- HOME,
- PORT,
- SCHEME,
- DRYRUN,
- VERSION
- );
+ public static Set<DimensionId> getAll() {
+ return EnumSet.allOf(BlocklistDimensions.class)
+ .stream()
+ .map(BlocklistDimensions::getDimensionId)
+ .collect(Collectors.toSet());
+ }
}