diff options
-rw-r--r-- | kamon-system-metrics/src/main/scala/kamon/system/sigar/ProcessCpuMetrics.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/sigar/ProcessCpuMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/system/sigar/ProcessCpuMetrics.scala index 4432e6cd..43b6ba83 100644 --- a/kamon-system-metrics/src/main/scala/kamon/system/sigar/ProcessCpuMetrics.scala +++ b/kamon-system-metrics/src/main/scala/kamon/system/sigar/ProcessCpuMetrics.scala @@ -20,6 +20,8 @@ import kamon.metric.GenericEntityRecorder import kamon.metric.instrument.InstrumentFactory import org.hyperic.sigar.{ ProcCpu, Sigar } +import scala.util.Try + /** * Process Cpu usage metrics, as reported by Sigar: * - user: Process cpu user time. @@ -51,7 +53,7 @@ class ProcessCpuMetrics(sigar: Sigar, instrumentFactory: InstrumentFactory) exte val systemDiff = currentProcCpu.getSys - lastProcCpu.getSys val timeDiff = currentProcCpu.getLastTime - lastProcCpu.getLastTime - def percentUsage(delta: Long): Long = 100 * delta / timeDiff / totalCores + def percentUsage(delta: Long): Long = Try(100 * delta / timeDiff / totalCores).getOrElse(0L) if (totalDiff == 0) { if (timeDiff > 2000) currentLoad = 0 |