diff options
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java index 6bebaedc28b..1fff1b2ab33 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/JrtMetrics.java @@ -4,9 +4,7 @@ package com.yahoo.container.jdisc.metric; import com.yahoo.jdisc.Metric; import com.yahoo.jrt.TransportMetrics; -import java.util.function.ToLongFunction; - -import static com.yahoo.jrt.TransportMetrics.*; +import static com.yahoo.jrt.TransportMetrics.Snapshot; /** * Emits jrt metrics @@ -17,7 +15,7 @@ class JrtMetrics { private final TransportMetrics transportMetrics = TransportMetrics.getInstance(); private final Metric metric; - private volatile Snapshot previousSnapshot; + private Snapshot previousSnapshot = transportMetrics.snapshot(); JrtMetrics(Metric metric) { this.metric = metric; @@ -25,20 +23,13 @@ class JrtMetrics { void emitMetrics() { Snapshot snapshot = transportMetrics.snapshot(); - increment("jrt.transport.tls-certificate-verification-failures", Snapshot::tlsCertificateVerificationFailures, snapshot); - increment("jrt.transport.peer-authorization-failures", Snapshot::peerAuthorizationFailures, snapshot); - increment("jrt.transport.server.tls-connections-established", Snapshot::serverTlsConnectionsEstablished, snapshot); - increment("jrt.transport.client.tls-connections-established", Snapshot::clientTlsConnectionsEstablished, snapshot); - increment("jrt.transport.server.unencrypted-connections-established", Snapshot::serverUnencryptedConnectionsEstablished, snapshot); - increment("jrt.transport.client.unencrypted-connections-established", Snapshot::clientUnencryptedConnectionsEstablished, snapshot); + Snapshot changesSincePrevious = snapshot.changesSince(previousSnapshot); + metric.add("jrt.transport.tls-certificate-verification-failures", changesSincePrevious.tlsCertificateVerificationFailures(), null); + metric.add("jrt.transport.peer-authorization-failures", changesSincePrevious.peerAuthorizationFailures(), null); + metric.add("jrt.transport.server.tls-connections-established", changesSincePrevious.serverTlsConnectionsEstablished(), null); + metric.add("jrt.transport.client.tls-connections-established", changesSincePrevious.clientTlsConnectionsEstablished(), null); + metric.add("jrt.transport.server.unencrypted-connections-established", changesSincePrevious.serverUnencryptedConnectionsEstablished(), null); + metric.add("jrt.transport.client.unencrypted-connections-established", changesSincePrevious.clientUnencryptedConnectionsEstablished(), null); previousSnapshot = snapshot; } - - private void increment(String metricName, ToLongFunction<Snapshot> metricGetter, Snapshot snapshot) { - long currentValue = metricGetter.applyAsLong(snapshot); - long increment = previousSnapshot != null - ? currentValue - metricGetter.applyAsLong(previousSnapshot) - : currentValue; - metric.add(metricName, increment, null); - } } |