aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-05-07 15:58:04 +0200
committergjoranv <gv@verizonmedia.com>2019-05-07 15:58:04 +0200
commit78db218a48492be512c0eb883b91f402ea380de8 (patch)
tree8e4ae81932f08448355b2639d8a66e677d604085 /metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java
parent192647b7d95905a2ef692a86535f312ec6742edd (diff)
Reapply Gjoranv/New metrics proxy
This reverts commit 8b0272c3104080d1f293e6a709208d2ea149fc03.
Diffstat (limited to 'metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java
new file mode 100644
index 00000000000..ae40f672a32
--- /dev/null
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/dimensions/ApplicationDimensions.java
@@ -0,0 +1,30 @@
+/*
+ * 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.dimensions;
+
+import ai.vespa.metricsproxy.metric.model.DimensionId;
+
+import java.util.Map;
+
+import static ai.vespa.metricsproxy.core.MetricsConsumers.toUnmodifiableLinkedMap;
+import static ai.vespa.metricsproxy.metric.model.DimensionId.toDimensionId;
+
+/**
+ * Application-specific but node-agnostic dimensions.
+ *
+ * @author gjoranv
+ */
+public class ApplicationDimensions {
+
+ private final Map<DimensionId, String> dimensions;
+
+ public ApplicationDimensions(ApplicationDimensionsConfig config) {
+ dimensions = config.dimensions().entrySet().stream().collect(
+ toUnmodifiableLinkedMap(e -> toDimensionId(e.getKey()), Map.Entry::getValue));
+ }
+
+ public Map<DimensionId, String> getDimensions() { return dimensions; }
+
+}