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/metric/MetricRegistry.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/metric/MetricRegistry.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala | 17 |
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 { |