Skip to content

Commit 24cf280

Browse files
committed
Ensure scheduler startup in Play applications
1 parent 103c05f commit 24cf280

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

core/kamon-core/src/main/scala/kamon/Init.scala

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,25 @@ trait Init { self: ModuleManagement with Configuration with CurrentStatus with M
5555
self.moduleRegistry().init()
5656

5757
}
58-
58+
59+
/**
60+
* Initializes Kamon without trying to attach the instrumentation agent from the Kamon Bundle.
61+
*/
62+
def initWithoutAttaching(): Unit = {
63+
self.initScheduler()
64+
self.loadModules()
65+
self.moduleRegistry().init()
66+
}
67+
68+
/**
69+
* Initializes Kamon without trying to attach the instrumentation agent from the Kamon Bundle.
70+
*/
71+
def initWithoutAttaching(config: Config): Unit = {
72+
self.reconfigure(config)
73+
self.initWithoutAttaching()
74+
}
75+
76+
5977
def stop(): Future[Unit] = {
6078
self.clearRegistry()
6179
self.stopScheduler()

instrumentation/kamon-play/src/main/scala/kamon/instrumentation/play/GuiceModule.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ object GuiceModule {
3636
Logger(classOf[KamonLoader]).info("Reconfiguring Kamon with Play's Config")
3737
Logger(classOf[KamonLoader]).info(configuration.underlying.getString("play.server.provider"))
3838
Logger(classOf[KamonLoader]).info(configuration.underlying.getString("kamon.trace.tick-interval"))
39-
Kamon.reconfigure(configuration.underlying)
40-
Kamon.loadModules()
39+
Kamon.initWithoutAttaching(configuration.underlying)
4140

4241
lifecycle.addStopHook { () =>
4342
Logger(classOf[KamonLoader]).info("Stopping Kamon")

0 commit comments

Comments
 (0)