aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2019-01-31 22:59:18 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2019-01-31 22:59:18 +0100
commitff8b915260e90084179dcb1d8b0b7b5f62b98470 (patch)
tree612de8f038d3bfb4d1a7fe0d4f41669420fa0f7e /kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
parent1db3f5c9c984dabbad7400c0c092942ff04580c0 (diff)
downloadKamon-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/metric/MetricRegistry.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala b/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
index cc111d95..11c5653f 100644
--- a/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
+++ b/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
@@ -88,6 +88,23 @@ class MetricRegistry(initialConfig: Config, scheduler: ScheduledExecutorService)
metric.asInstanceOf[T]
}
+
+ private[kamon] def status(): MetricRegistry.Status = {
+ var metricInfos = Seq.empty[MetricRegistry.MetricInfo]
+ metrics.foreach {
+ case (metricName, metric) =>
+ metric.incarnations().foreach(incarnation => {
+ metricInfos = metricInfos :+ MetricRegistry.MetricInfo(metricName, incarnation, metric.instrumentType)
+ })
+ }
+
+ MetricRegistry.Status(metricInfos)
+ }
+}
+
+object MetricRegistry {
+ case class Status(metrics: Seq[MetricInfo])
+ case class MetricInfo(name: String, tags: Map[String, String], instrumentType: InstrumentType)
}
trait MetricsSnapshotGenerator {