aboutsummaryrefslogtreecommitdiff
path: root/kamon-core
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2015-01-26 19:50:33 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2015-01-26 19:50:33 +0100
commit926fea09f9e463425ec86649e5e75e5abd907066 (patch)
treee6f8874d02ddd7d7a1d6ff024d5eeee8370f587b /kamon-core
parent01a34f67ff75419c440f2e69c0a0db888a670a34 (diff)
downloadKamon-926fea09f9e463425ec86649e5e75e5abd907066.tar.gz
Kamon-926fea09f9e463425ec86649e5e75e5abd907066.tar.bz2
Kamon-926fea09f9e463425ec86649e5e75e5abd907066.zip
! core: ensure that the subscriptions dispatcher is correctly started
Diffstat (limited to 'kamon-core')
-rw-r--r--kamon-core/src/main/scala/kamon/ModuleSupervisor.scala3
-rw-r--r--kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala2
2 files changed, 3 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/ModuleSupervisor.scala b/kamon-core/src/main/scala/kamon/ModuleSupervisor.scala
index 99d87719..7e82f80a 100644
--- a/kamon-core/src/main/scala/kamon/ModuleSupervisor.scala
+++ b/kamon-core/src/main/scala/kamon/ModuleSupervisor.scala
@@ -21,7 +21,7 @@ trait ModuleSupervisorExtension extends actor.Extension {
class ModuleSupervisorExtensionImpl(system: ExtendedActorSystem) extends ModuleSupervisorExtension {
import system.dispatcher
- private lazy val supervisor = system.actorOf(Props[ModuleSupervisor], "kamon")
+ private val supervisor = system.actorOf(Props[ModuleSupervisor], "kamon")
def createModule(name: String, props: Props): Future[ActorRef] = Future {} flatMap { _: Unit ⇒
val modulePromise = Promise[ActorRef]()
@@ -37,6 +37,7 @@ class ModuleSupervisor extends Actor with ActorLogging {
}
def createChildModule(name: String, props: Props, childPromise: Promise[ActorRef]): Unit = {
+
context.child(name).map { alreadyAvailableModule ⇒
log.warning("Received a request to create module [{}] but the module is already available, returning the existent one.")
childPromise.complete(Success(alreadyAvailableModule))
diff --git a/kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala b/kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala
index b738eeb9..0b7fc7f2 100644
--- a/kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala
+++ b/kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala
@@ -70,7 +70,7 @@ class MetricsExtensionImpl(system: ExtendedActorSystem) extends MetricsExtension
private val _trackedEntities = TrieMap.empty[Entity, EntityRecorder]
private val _collectionContext = buildDefaultCollectionContext
private val _metricsCollectionDispatcher = system.dispatchers.lookup(settings.metricCollectionDispatcher)
- private val _subscriptions = ModuleSupervisor.get(system).createModule("subscriptions-dispatcher",
+ private lazy val _subscriptions = ModuleSupervisor.get(system).createModule("subscriptions-dispatcher",
SubscriptionsDispatcher.props(settings.tickInterval, collectSnapshots).withDispatcher(settings.metricCollectionDispatcher))
def shouldTrack(entity: Entity): Boolean =