diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2019-02-04 19:15:43 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2019-02-04 19:15:43 +0100 |
commit | 0a2b7f4bf0dde31c82482fbaf5153c22c84ada69 (patch) | |
tree | 799f857698132b937db6fc0c5207af83ebe62b15 /kamon-core/src/main/scala/kamon/status/Status.scala | |
parent | ff8b915260e90084179dcb1d8b0b7b5f62b98470 (diff) | |
download | Kamon-0a2b7f4bf0dde31c82482fbaf5153c22c84ada69.tar.gz Kamon-0a2b7f4bf0dde31c82482fbaf5153c22c84ada69.tar.bz2 Kamon-0a2b7f4bf0dde31c82482fbaf5153c22c84ada69.zip |
cleanup the exposition of status data and ensure the module registry provides enough info
Diffstat (limited to 'kamon-core/src/main/scala/kamon/status/Status.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/status/Status.scala | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/kamon-core/src/main/scala/kamon/status/Status.scala b/kamon-core/src/main/scala/kamon/status/Status.scala index 0d141ed0..dc059277 100644 --- a/kamon-core/src/main/scala/kamon/status/Status.scala +++ b/kamon-core/src/main/scala/kamon/status/Status.scala @@ -1,26 +1,27 @@ package kamon.status import com.typesafe.config.Config +import kamon.metric.InstrumentFactory.InstrumentType import kamon.metric.MetricRegistry import kamon.{Configuration, Environment, Kamon} -import kamon.module.Module - +import kamon.module.ModuleRegistry +import kamon.module.Module.{Kind => ModuleKind} /** * Allows accessing of component's status APIs without exposing any other internal API from those components. */ -class Status(_moduleRegistry: Module.Registry, _metricRegistry: MetricRegistry, configuration: Configuration) { +class Status(_moduleRegistry: ModuleRegistry, _metricRegistry: MetricRegistry, configuration: Configuration) { - def baseInfo(): Status.BaseInfo = - Status.BaseInfo(BuildInfo.version, Kamon.environment, configuration.config()) + def settings(): Status.Settings = + Status.Settings(BuildInfo.version, Kamon.environment, configuration.config()) /** * Information about what modules have been detected in the classpath and their current status. */ - def moduleRegistry(): Module.Registry.Status = + def moduleRegistry(): Status.ModuleRegistry = _moduleRegistry.status() - def metricRegistry(): MetricRegistry.Status = + def metricRegistry(): Status.MetricRegistry = _metricRegistry.status() } @@ -28,13 +29,32 @@ class Status(_moduleRegistry: Module.Registry, _metricRegistry: MetricRegistry, object Status { - case class BaseInfo( + case class Settings( version: String, environment: Environment, config: Config ) + case class ModuleRegistry( + modules: Seq[Module] + ) + + case class Module( + name: String, + description: String, + kind: ModuleKind, + isProgrammaticallyRegistered: Boolean, + isStarted: Boolean + ) + case class MetricRegistry( + metrics: Seq[Metric] + ) + case class Metric( + name: String, + tags: Map[String, String], + instrumentType: InstrumentType + ) } |