From ff618be49e761b7b646c70f56909e715ecf86a00 Mon Sep 17 00:00:00 2001 From: Diego Date: Sun, 26 Oct 2014 17:16:45 -0300 Subject: = system-metrics: make ContextSwitchesMetrics serializable --- .../kamon/metrics/ContextSwitchesMetrics.scala | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'kamon-system-metrics') diff --git a/kamon-system-metrics/src/main/scala/kamon/metrics/ContextSwitchesMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/metrics/ContextSwitchesMetrics.scala index a38b114c..86aeabce 100644 --- a/kamon-system-metrics/src/main/scala/kamon/metrics/ContextSwitchesMetrics.scala +++ b/kamon-system-metrics/src/main/scala/kamon/metrics/ContextSwitchesMetrics.scala @@ -57,22 +57,25 @@ object ContextSwitchesMetrics extends MetricGroupCategory { Global -> global) } - val Factory = new MetricGroupFactory { + val Factory = ContextSwitchesMetricGroupFactory +} - type GroupRecorder = ContextSwitchesMetricsRecorder +case object ContextSwitchesMetricGroupFactory extends MetricGroupFactory { + import ContextSwitchesMetrics._ - def create(config: Config, system: ActorSystem): GroupRecorder = { - val settings = config.getConfig("precision.system.context-switches") + type GroupRecorder = ContextSwitchesMetricsRecorder - val perProcessVoluntary = settings.getConfig("per-process-voluntary") - val perProcessNonVoluntary = settings.getConfig("per-process-non-voluntary") - val global = settings.getConfig("global") + def create(config: Config, system: ActorSystem): GroupRecorder = { + val settings = config.getConfig("precision.system.context-switches") - new ContextSwitchesMetricsRecorder( - Histogram.fromConfig(perProcessVoluntary), - Histogram.fromConfig(perProcessNonVoluntary), - Histogram.fromConfig(global)) - } + val perProcessVoluntary = settings.getConfig("per-process-voluntary") + val perProcessNonVoluntary = settings.getConfig("per-process-non-voluntary") + val global = settings.getConfig("global") + + new ContextSwitchesMetricsRecorder( + Histogram.fromConfig(perProcessVoluntary), + Histogram.fromConfig(perProcessNonVoluntary), + Histogram.fromConfig(global)) } } -- cgit v1.2.3