diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2019-01-31 22:59:18 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2019-01-31 22:59:18 +0100 |
commit | ff8b915260e90084179dcb1d8b0b7b5f62b98470 (patch) | |
tree | 612de8f038d3bfb4d1a7fe0d4f41669420fa0f7e /kamon-core/src/main/scala/kamon/module/Module.scala | |
parent | 1db3f5c9c984dabbad7400c0c092942ff04580c0 (diff) | |
download | Kamon-ff8b915260e90084179dcb1d8b0b7b5f62b98470.tar.gz Kamon-ff8b915260e90084179dcb1d8b0b7b5f62b98470.tar.bz2 Kamon-ff8b915260e90084179dcb1d8b0b7b5f62b98470.zip |
show number of modules and metrics on the status page
Diffstat (limited to 'kamon-core/src/main/scala/kamon/module/Module.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/module/Module.scala | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/kamon-core/src/main/scala/kamon/module/Module.scala b/kamon-core/src/main/scala/kamon/module/Module.scala index f32e949b..fd5af16c 100644 --- a/kamon-core/src/main/scala/kamon/module/Module.scala +++ b/kamon-core/src/main/scala/kamon/module/Module.scala @@ -331,15 +331,23 @@ object Module { * Returns the current status of this module registry. */ private[kamon] def status(): Registry.Status = { + def moduleKind(instance: Any): String = instance match { + case _: CombinedReporter => "combined" + case _: MetricReporter => "metric" + case _: SpanReporter => "span" + case _: Module => "plain" + } + val automaticallyAddedModules = readModuleSettings(configuration.config()).map(moduleSettings => { val entry = _registeredModules.get(moduleSettings.name) - Registry.ModuleInfo(moduleSettings.name, moduleSettings.fqcn, moduleSettings.enabled, entry.nonEmpty) + val entryModuleKind = entry.map(e => moduleKind(e.module)).getOrElse("unknown") + Registry.ModuleInfo(moduleSettings.name, moduleSettings.fqcn, moduleSettings.enabled, entry.nonEmpty, entryModuleKind) }) val programmaticallyAddedModules = _registeredModules .filter { case (_, entry) => entry.programmaticallyAdded } .map { case (name, entry) => { - Registry.ModuleInfo(name, entry.module.getClass.getName, true, true) + Registry.ModuleInfo(name, entry.module.getClass.getName, true, true, moduleKind(entry.module)) }} val allModules = automaticallyAddedModules ++ programmaticallyAddedModules @@ -432,7 +440,8 @@ object Module { name: String, description: String, enabled: Boolean, - started: Boolean + started: Boolean, + kind: String ) } |