aboutsummaryrefslogtreecommitdiff
path: root/kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala')
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala16
1 files changed, 10 insertions, 6 deletions
diff --git a/kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala
index ef7f225c..20789039 100644
--- a/kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/metrics/CPUMetrics.scala
@@ -31,31 +31,33 @@ object CPUMetrics extends MetricGroupCategory {
case object System extends MetricIdentity { val name = "system" }
case object Wait extends MetricIdentity { val name = "wait" }
case object Idle extends MetricIdentity { val name = "idle" }
+ case object Stolen extends MetricIdentity { val name = "stolen" }
- case class CPUMetricRecorder(user: Histogram, system: Histogram, cpuWait: Histogram, idle: Histogram)
+ case class CPUMetricRecorder(user: Histogram, system: Histogram, cpuWait: Histogram, idle: Histogram, stolen: Histogram)
extends MetricGroupRecorder {
def collect(context: CollectionContext): MetricGroupSnapshot = {
- CPUMetricSnapshot(user.collect(context), system.collect(context), cpuWait.collect(context), idle.collect(context))
+ CPUMetricSnapshot(user.collect(context), system.collect(context), cpuWait.collect(context), idle.collect(context), stolen.collect(context))
}
def cleanup: Unit = {}
}
- case class CPUMetricSnapshot(user: Histogram.Snapshot, system: Histogram.Snapshot, cpuWait: Histogram.Snapshot, idle: Histogram.Snapshot)
+ case class CPUMetricSnapshot(user: Histogram.Snapshot, system: Histogram.Snapshot, cpuWait: Histogram.Snapshot, idle: Histogram.Snapshot, stolen: Histogram.Snapshot)
extends MetricGroupSnapshot {
type GroupSnapshotType = CPUMetricSnapshot
def merge(that: CPUMetricSnapshot, context: CollectionContext): GroupSnapshotType = {
- CPUMetricSnapshot(user.merge(that.user, context), system.merge(that.system, context), cpuWait.merge(that.cpuWait, context), idle.merge(that.idle, context))
+ CPUMetricSnapshot(user.merge(that.user, context), system.merge(that.system, context), cpuWait.merge(that.cpuWait, context), idle.merge(that.idle, context), stolen.merge(that.stolen, context))
}
lazy val metrics: Map[MetricIdentity, MetricSnapshot] = Map(
User -> user,
System -> system,
Wait -> cpuWait,
- Idle -> idle)
+ Idle -> idle,
+ Stolen -> stolen)
}
val Factory = CPUMetricGroupFactory
@@ -74,11 +76,13 @@ case object CPUMetricGroupFactory extends MetricGroupFactory {
val systemConfig = settings.getConfig("system")
val cpuWaitConfig = settings.getConfig("wait")
val idleConfig = settings.getConfig("idle")
+ val stolenConfig = settings.getConfig("stolen")
new CPUMetricRecorder(
Histogram.fromConfig(userConfig),
Histogram.fromConfig(systemConfig),
Histogram.fromConfig(cpuWaitConfig),
- Histogram.fromConfig(idleConfig))
+ Histogram.fromConfig(idleConfig),
+ Histogram.fromConfig(stolenConfig))
}
}