diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Kamon.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/Kamon.scala | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala index 72573a8a..316a9a24 100644 --- a/kamon-core/src/main/scala/kamon/Kamon.scala +++ b/kamon-core/src/main/scala/kamon/Kamon.scala @@ -12,26 +12,25 @@ import kamon.trace.Tracer * * */ -trait Kamon { - def metrics: RecorderRegistry - def tracer: Tracer - - def subscriptions: Reporters - def util: Util +object Kamon { + private val recorderRegistry = new RecorderRegistryImpl(ConfigFactory.load()) + private val reporterRegistry = new ReporterRegistryImpl(recorderRegistry, ConfigFactory.load()) - def environment: Environment - def diagnose: Diagnostic + def metrics: RecorderRegistry = recorderRegistry + def reporters: ReporterRegistry = reporterRegistry - def reconfigure(config: Config): Unit + def reconfigure(config: Config): Unit = synchronized { + recorderRegistry.reconfigure(config) + reporterRegistry.reconfigure(config) + } -} + def tracer: Tracer = ??? + def environment: Environment = ??? + def diagnose: Diagnostic = ??? + def util: Util = ??? -object Kamon { - val metricsModule = new RecorderRegistryImpl(ConfigFactory.load()) - val reports = new ReportersRegistry(metricsModule) - def metrics: RecorderRegistry = metricsModule } |