aboutsummaryrefslogtreecommitdiff
path: root/kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala')
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala23
1 files changed, 13 insertions, 10 deletions
diff --git a/kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala
index b5da600e..bc5fc724 100644
--- a/kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/metrics/GCMetrics.scala
@@ -56,20 +56,23 @@ object GCMetrics extends MetricGroupCategory {
CollectionTime -> time)
}
- def Factory(gc: GarbageCollectorMXBean) = new MetricGroupFactory {
+ def Factory(gc: GarbageCollectorMXBean) = GCMetricGroupFactory(gc)
+}
- type GroupRecorder = GCMetricRecorder
+case class GCMetricGroupFactory(gc: GarbageCollectorMXBean) extends MetricGroupFactory {
+ import GCMetrics._
- def create(config: Config, system: ActorSystem): GroupRecorder = {
- val settings = config.getConfig("precision.jvm.gc")
+ type GroupRecorder = GCMetricRecorder
- val countConfig = settings.getConfig("count")
- val timeConfig = settings.getConfig("time")
+ def create(config: Config, system: ActorSystem): GroupRecorder = {
+ val settings = config.getConfig("precision.jvm.gc")
- new GCMetricRecorder(
- Gauge.fromConfig(countConfig, system)(() ⇒ gc.getCollectionCount),
- Gauge.fromConfig(timeConfig, system, Scale.Milli)(() ⇒ gc.getCollectionTime))
- }
+ val countConfig = settings.getConfig("count")
+ val timeConfig = settings.getConfig("time")
+
+ new GCMetricRecorder(
+ Gauge.fromConfig(countConfig, system)(() ⇒ gc.getCollectionCount),
+ Gauge.fromConfig(timeConfig, system, Scale.Milli)(() ⇒ gc.getCollectionTime))
}
}