diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-09-20 22:30:00 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-09-20 22:35:10 +0200 |
commit | cd4aef9fb8485524d393ce941ab9986d48a37896 (patch) | |
tree | cb79fbec9bd709913fbfb70532087746f8f6692c /container-disc | |
parent | 2c193d74d00dd3c3fa90b347ec77fcea828cce2f (diff) |
Emit the application config generation as a metric
Diffstat (limited to 'container-disc')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java | 27 |
1 files changed, 15 insertions, 12 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 226107c24b8..4614f8f9857 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 @@ -65,20 +65,12 @@ import static com.yahoo.collections.CollectionUtil.first; */ public final class ConfiguredApplication implements Application { - public static final class ApplicationContext { - - final JdiscBindingsConfig discBindingsConfig; - - public ApplicationContext(com.yahoo.container.jdisc.JdiscBindingsConfig discBindingsConfig) { - this.discBindingsConfig = discBindingsConfig; - } - } - private static final Logger log = Logger.getLogger(ConfiguredApplication.class.getName()); private static final Set<ClientProvider> startedClients = Collections.newSetFromMap(new WeakHashMap<>()); private static final Set<ServerProvider> startedServers = Collections.newSetFromMap(new IdentityHashMap<>()); private final SubscriberFactory subscriberFactory; + private final Metric metric; private final ContainerActivator activator; private final String configId; private final OsgiFramework osgiFramework; @@ -97,7 +89,6 @@ public final class ConfiguredApplication implements Application { new ComponentRegistry<>(), new ComponentRegistry<>()); private final OsgiFramework restrictedOsgiFramework; - private volatile int applicationSerialNo = 0; private HandlersConfigurerDi configurer; private ScheduledThreadPoolExecutor shutdownDeadlineExecutor; private Thread reconfigurerThread; @@ -127,11 +118,13 @@ public final class ConfiguredApplication implements Application { public ConfiguredApplication(ContainerActivator activator, OsgiFramework osgiFramework, com.yahoo.jdisc.Timer timer, - SubscriberFactory subscriberFactory) { + SubscriberFactory subscriberFactory, + Metric metric) { this.activator = activator; this.osgiFramework = osgiFramework; this.timerSingleton = timer; this.subscriberFactory = subscriberFactory; + this.metric = metric; this.configId = System.getProperty("config.id"); this.slobrokConfigSubscriber = (subscriberFactory instanceof CloudSubscriberFactory) ? Optional.of(new SlobrokConfigSubscriber(configId)) @@ -256,7 +249,8 @@ public final class ConfiguredApplication implements Application { startAndStopServers(); log.info("Switching to the latest deployed set of configurations and components. " + - "Application switch number: " + (applicationSerialNo++)); + "Application config generation: " + configurer.generation()); + metric.set("application_generation", configurer.generation(), metric.createContext(Map.of())); } private ContainerBuilder createBuilderWithGuiceBindings() { @@ -427,4 +421,13 @@ public final class ConfiguredApplication implements Application { } } + public static final class ApplicationContext { + + final JdiscBindingsConfig discBindingsConfig; + + public ApplicationContext(com.yahoo.container.jdisc.JdiscBindingsConfig discBindingsConfig) { + this.discBindingsConfig = discBindingsConfig; + } + } + } |