summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2019-06-16 13:15:48 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-06-16 16:01:56 +0200
commit49b52ad921f270a8595d2d5e1b23095d0b971ce7 (patch)
treeef26f1e87f0ed47144dda6b52f8de232272b746c /docker-api
parent50c85fe3f77443b61cfef5a8433e5fd832b5508a (diff)
Sort dimension metric keys
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java26
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java8
2 files changed, 23 insertions, 11 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java
index 432474d7270..ef59c4b17d6 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java
@@ -8,6 +8,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.TreeMap;
/**
* @author freva
@@ -26,22 +27,29 @@ public class DimensionMetrics {
this.metrics = Objects.requireNonNull(metrics);
}
- Map<String, Object> getMetrics() {
- Map<String, Object> report = new HashMap<>();
+ public String toSecretAgentReport() throws JsonProcessingException {
+ Map<String, Object> report = new TreeMap<>();
report.put("application", application);
- report.put("dimensions", dimensions.dimensionsMap);
- report.put("metrics", metrics);
+ report.put("dimensions", new TreeMap<>(dimensions.asMap()));
+ report.put("metrics", new TreeMap<>(metrics));
report.put("routing", routing);
- return report;
- }
-
- public String toSecretAgentReport() throws JsonProcessingException {
- Map<String, Object> report = getMetrics();
report.put("timestamp", System.currentTimeMillis() / 1000);
return objectMapper.writeValueAsString(report);
}
+ public String getApplication() {
+ return application;
+ }
+
+ public Dimensions getDimensions() {
+ return dimensions;
+ }
+
+ public Map<String, Number> getMetrics() {
+ return metrics;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java
index e5e3306a31a..ae4829d4b07 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java
@@ -13,12 +13,16 @@ public class Dimensions {
public static final Dimensions NONE = new Dimensions(Map.of());
- final Map<String, String> dimensionsMap;
+ private final Map<String, String> dimensionsMap;
- private Dimensions(Map<String, String> dimensionsMap) {
+ public Dimensions(Map<String, String> dimensionsMap) {
this.dimensionsMap = Map.copyOf(dimensionsMap);
}
+ public Map<String, String> asMap() {
+ return dimensionsMap;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;