diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-12-01 15:37:08 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-12-01 15:37:08 +0100 |
commit | fa9b01704b3cec57ce9b7048275357db4bd15c74 (patch) | |
tree | cfd0743ddedf98f936905cf9feacc58bdfc06e79 /node-repository | |
parent | 8d9680d2101c76229190598547362ab2760d3d2f (diff) |
Only report non-zero lock metrics
This should reduce the number of reported lock metrics to 3%.
Diffstat (limited to 'node-repository')
-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); |