diff options
author | Ola Aunrønning <olaa@yahooinc.com> | 2023-08-10 11:15:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-10 11:15:15 +0200 |
commit | 0f375fc460d89dd0fb1753c2baf86a923b0766b3 (patch) | |
tree | cc61a5e85ab8ab452d645759c05c5664f11f663a | |
parent | 16ade10496858b0046e45d44052170be381e503f (diff) | |
parent | 9e7822ebfed252a6a7053d447ff06777fc19e528 (diff) |
Merge pull request #28010 from vespa-engine/olaa/athenz-cert-check
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()) |