summaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorgjoranv <gv@yahooinc.com>2023-05-05 01:31:47 +0200
committergjoranv <gv@yahooinc.com>2023-05-05 01:31:47 +0200
commitf7fd1f95d2de8880dd122efa3f88c2ab1bfd3329 (patch)
tree76fa4814d84b6b993dc7b2e34b8fb1728a71e9d3 /container-disc
parent6604ef3e0e5499085b08de0f1b683965d03b1c03 (diff)
Add metrics for graph creation time and reconfig count.
Diffstat (limited to 'container-disc')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
index c56fb080c55..06aa102b34c 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java
@@ -51,6 +51,8 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider;
import java.security.Provider;
import java.security.Security;
+import java.time.Duration;
+import java.time.Instant;
import java.util.Collection;
import java.util.Collections;
import java.util.IdentityHashMap;
@@ -332,11 +334,15 @@ public final class ConfiguredApplication implements Application {
private void doReconfigurationLoop() {
while (!shutdownReconfiguration) {
try {
+ var start = Instant.now();
ContainerBuilder builder = createBuilderWithGuiceBindings();
// Block until new config arrives, and it should be applied
Runnable cleanupTask = configurer.waitForNextGraphGeneration(builder.guiceModules().activate(), false);
initializeAndActivateContainer(builder, cleanupTask);
+ var metric = configurer.getComponent(Metric.class);
+ metric.set("jdisc.application.component_graph.creation_time_millis", Duration.between(start, Instant.now()).toMillis(), null);
+ metric.add("jdisc.application.component_graph.reconfigurations", 1L, null);
} catch (UncheckedInterruptedException | SubscriberClosedException | ConfigInterruptedException e) {
break;
} catch (Exception | LinkageError e) { // LinkageError: OSGi problems