diff options
Diffstat (limited to 'kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala')
-rw-r--r-- | kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala index c51b458c..ac033fe2 100644 --- a/kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala +++ b/kamon-system-metrics/src/main/scala/kamon/metrics/HeapMetrics.scala @@ -58,26 +58,30 @@ object HeapMetrics extends MetricGroupCategory { Committed -> committed) } - val Factory = new MetricGroupFactory { - import kamon.system.SystemMetricsExtension._ + val Factory = HeapMetricGroupFactory +} - val memory = ManagementFactory.getMemoryMXBean - def heap = memory.getHeapMemoryUsage +case object HeapMetricGroupFactory extends MetricGroupFactory { - type GroupRecorder = HeapMetricRecorder + import HeapMetrics._ + import kamon.system.SystemMetricsExtension._ - def create(config: Config, system: ActorSystem): GroupRecorder = { - val settings = config.getConfig("precision.jvm.heap") + def heap = ManagementFactory.getMemoryMXBean.getHeapMemoryUsage - val usedHeapConfig = settings.getConfig("used") - val maxHeapConfig = settings.getConfig("max") - val committedHeapConfig = settings.getConfig("committed") + type GroupRecorder = HeapMetricRecorder - new HeapMetricRecorder( - Gauge.fromConfig(usedHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getUsed)), - Gauge.fromConfig(maxHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getMax)), - Gauge.fromConfig(committedHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getCommitted))) - } + def create(config: Config, system: ActorSystem): GroupRecorder = { + val settings = config.getConfig("precision.jvm.heap") + + val usedHeapConfig = settings.getConfig("used") + val maxHeapConfig = settings.getConfig("max") + val committedHeapConfig = settings.getConfig("committed") + + new HeapMetricRecorder( + Gauge.fromConfig(usedHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getUsed)), + Gauge.fromConfig(maxHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getMax)), + Gauge.fromConfig(committedHeapConfig, system, Scale.Mega)(() ⇒ toMB(heap.getCommitted))) } + } |