diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2019-06-16 13:15:48 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-06-16 16:01:56 +0200 |
commit | 49b52ad921f270a8595d2d5e1b23095d0b971ce7 (patch) | |
tree | ef26f1e87f0ed47144dda6b52f8de232272b746c /docker-api/src | |
parent | 50c85fe3f77443b61cfef5a8433e5fd832b5508a (diff) |
Sort dimension metric keys
Diffstat (limited to 'docker-api/src')
-rw-r--r-- | docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/DimensionMetrics.java | 26 | ||||
-rw-r--r-- | docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/Dimensions.java | 8 |
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; |