diff options
author | Ola Aunronning <olaa@yahooinc.com> | 2023-08-10 10:46:15 +0200 |
---|---|---|
committer | Ola Aunronning <olaa@yahooinc.com> | 2023-08-10 10:46:15 +0200 |
commit | 9e7822ebfed252a6a7053d447ff06777fc19e528 (patch) | |
tree | 099a3117b94c571ffab3cf6147acd838e9b0d27a | |
parent | a589bd0a2c27a09b1bafb3a666f7548d4b86771e (diff) |
Allow deleting metrics by name
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/metrics/Metrics.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/metrics/Metrics.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/metrics/Metrics.java index 07a8d545178..e9dbfa0c524 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/metrics/Metrics.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/container/metrics/Metrics.java @@ -102,6 +102,17 @@ public class Metrics { } } + public void deleteMetricByName(String application, String metricName, DimensionType type) { + synchronized (monitor) { + Optional.ofNullable(metrics.get(type)) + .map(m -> m.get(application)) + .map(ApplicationMetrics::metricsByDimensions) + .ifPresent(dims -> + dims.values().forEach(metrics -> metrics.remove(metricName)) + ); + } + } + Map<Dimensions, Map<String, MetricValue>> getOrCreateApplicationMetrics(String application, DimensionType type) { return metrics.computeIfAbsent(type, m -> new HashMap<>()) .computeIfAbsent(application, app -> new ApplicationMetrics()) |