diff options
author | HÃ¥kon Hallingstad <hakon@verizonmedia.com> | 2020-12-01 16:06:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-01 16:06:38 +0100 |
commit | ab8072ce5f98b3f95914c58c815f21b41192e531 (patch) | |
tree | 5c58b7f0e16a1963f10035e3262cc07ae4509e5f | |
parent | 39024d12a8f0c522c4cc5210e4f3f917ef620294 (diff) | |
parent | fa9b01704b3cec57ce9b7048275357db4bd15c74 (diff) |
Merge pull request #15569 from vespa-engine/hakonhall/only-report-non-zero-lock-metrics
Only report non-zero lock metrics
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java index 685fa3727a1..bcdcd9054a7 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java @@ -262,19 +262,19 @@ public class MetricsReporter extends NodeRepositoryMaintainer { Metric.Context context = getContext(Map.of("lockPath", lockPath)); LatencyMetrics acquireLatencyMetrics = lockMetrics.getAndResetAcquireLatencyMetrics(); - metric.set("lockAttempt.acquireMaxActiveLatency", acquireLatencyMetrics.maxActiveLatencySeconds(), context); - metric.set("lockAttempt.acquireHz", acquireLatencyMetrics.startHz(), context); - metric.set("lockAttempt.acquireLoad", acquireLatencyMetrics.load(), context); + setNonZero("lockAttempt.acquireMaxActiveLatency", acquireLatencyMetrics.maxActiveLatencySeconds(), context); + setNonZero("lockAttempt.acquireHz", acquireLatencyMetrics.startHz(), context); + setNonZero("lockAttempt.acquireLoad", acquireLatencyMetrics.load(), context); LatencyMetrics lockedLatencyMetrics = lockMetrics.getAndResetLockedLatencyMetrics(); - metric.set("lockAttempt.lockedLatency", lockedLatencyMetrics.maxLatencySeconds(), context); - metric.set("lockAttempt.lockedLoad", lockedLatencyMetrics.load(), context); + setNonZero("lockAttempt.lockedLatency", lockedLatencyMetrics.maxLatencySeconds(), context); + setNonZero("lockAttempt.lockedLoad", lockedLatencyMetrics.load(), context); - metric.set("lockAttempt.acquireTimedOut", lockMetrics.getAndResetAcquireTimedOutCount(), context); - metric.set("lockAttempt.deadlock", lockMetrics.getAndResetDeadlockCount(), context); + setNonZero("lockAttempt.acquireTimedOut", lockMetrics.getAndResetAcquireTimedOutCount(), context); + setNonZero("lockAttempt.deadlock", lockMetrics.getAndResetDeadlockCount(), context); // bucket for various rare errors - to reduce #metrics - metric.set("lockAttempt.errors", + setNonZero("lockAttempt.errors", lockMetrics.getAndResetAcquireFailedCount() + lockMetrics.getAndResetReleaseFailedCount() + lockMetrics.getAndResetNakedReleaseCount() + @@ -284,6 +284,12 @@ public class MetricsReporter extends NodeRepositoryMaintainer { }); } + private void setNonZero(String key, Number value, Metric.Context context) { + if (Double.compare(value.doubleValue(), 0.0) != 0) { + metric.set(key, value, context); + } + } + private void updateDockerMetrics(NodeList nodes) { NodeResources totalCapacity = getCapacityTotal(nodes); metric.set("hostedVespa.docker.totalCapacityCpu", totalCapacity.vcpu(), null); |