From 371011cff23f5fef5c755a29430f8e8d0fef4263 Mon Sep 17 00:00:00 2001 From: Boris Giftge Date: Wed, 15 Oct 2014 15:01:53 -0700 Subject: = system-metrics: handling sigar.getLoadAverage gracefully on unsupported systems --- .../src/main/scala/kamon/system/sigar/SigarLoader.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'kamon-system-metrics/src') diff --git a/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarLoader.scala b/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarLoader.scala index 36e62756..607ebe13 100644 --- a/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarLoader.scala +++ b/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarLoader.scala @@ -22,7 +22,7 @@ import java.util import java.util.logging.Logger import java.util.{ ArrayList, Date, List } -import org.hyperic.sigar.{ OperatingSystem, Sigar, SigarProxy } +import org.hyperic.sigar._ import scala.annotation.tailrec import scala.collection.JavaConversions._ @@ -137,8 +137,14 @@ object SigarLoader { val os = OperatingSystem.getInstance def loadAverage(sigar: Sigar) = { - val average = sigar.getLoadAverage - (average(0), average(1), average(2)) + try { + val average = sigar.getLoadAverage + (average(0), average(1), average(2)) + } catch { + case s: org.hyperic.sigar.SigarNotImplementedException ⇒ { + (0d, 0d, 0d) + } + } } def uptime(sigar: Sigar) = { -- cgit v1.2.3