aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/status/Status.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/status/Status.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/status/Status.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/status/Status.scala b/kamon-core/src/main/scala/kamon/status/Status.scala
new file mode 100644
index 00000000..f212ff55
--- /dev/null
+++ b/kamon-core/src/main/scala/kamon/status/Status.scala
@@ -0,0 +1,37 @@
+package kamon.status
+
+import com.typesafe.config.Config
+import kamon.{Configuration, Environment, Kamon}
+import kamon.module.Module
+
+
+/**
+ * Allows accessing of component's status APIs without exposing any other internal API from those components.
+ */
+class Status(_moduleRegistry: Module.Registry, configuration: Configuration) {
+
+ def baseInfo(): Status.BaseInfo =
+ Status.BaseInfo(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 =
+ _moduleRegistry.status()
+}
+
+
+
+
+object Status {
+
+ case class BaseInfo(
+ version: String,
+ environment: Environment,
+ config: Config
+ )
+
+
+
+
+}