aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2016-03-03 00:47:53 -0300
committerDiego <diegolparra@gmail.com>2016-03-03 00:47:53 -0300
commitaffe465fdcc002fb12c54b3bb139ba3ef4fb1d85 (patch)
tree36b69c34e1379eba3832bd24396256102cb76af8
parent8d47a512219714072b7cf9da8f40d8a69af56397 (diff)
downloadKamon-affe465fdcc002fb12c54b3bb139ba3ef4fb1d85.tar.gz
Kamon-affe465fdcc002fb12c54b3bb139ba3ef4fb1d85.tar.bz2
Kamon-affe465fdcc002fb12c54b3bb139ba3ef4fb1d85.zip
= system-metrics: runSafe in UlimitMetrics and include a test
-rw-r--r--kamon-core/src/test/scala/kamon/metric/MetricScaleDecoratorSpec.scala6
-rw-r--r--kamon-core/src/test/scala/kamon/metric/instrument/HistogramSpec.scala8
-rw-r--r--kamon-core/src/test/scala/kamon/metric/instrument/UnitOfMeasurementSpec.scala2
-rw-r--r--kamon-core/src/test/scala/kamon/util/NeedToScaleSpec.scala12
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/system/jmx/MemoryUsageMetrics.scala6
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/system/sigar/ULimitMetrics.scala6
-rw-r--r--kamon-system-metrics/src/test/scala/kamon/metrics/SystemMetricsSpec.scala6
7 files changed, 26 insertions, 20 deletions
diff --git a/kamon-core/src/test/scala/kamon/metric/MetricScaleDecoratorSpec.scala b/kamon-core/src/test/scala/kamon/metric/MetricScaleDecoratorSpec.scala
index 04821923..902102cd 100644
--- a/kamon-core/src/test/scala/kamon/metric/MetricScaleDecoratorSpec.scala
+++ b/kamon-core/src/test/scala/kamon/metric/MetricScaleDecoratorSpec.scala
@@ -18,7 +18,7 @@ package kamon.metric
import kamon.Kamon
import kamon.metric.SubscriptionsDispatcher.TickMetricSnapshot
-import kamon.metric.instrument.{InstrumentFactory, Memory, Time, UnitOfMeasurement}
+import kamon.metric.instrument.{ InstrumentFactory, Memory, Time, UnitOfMeasurement }
import kamon.testkit.BaseKamonSpec
import kamon.util.MilliTimestamp
import org.scalatest.OptionValues._
@@ -62,10 +62,10 @@ class MetricScaleDecoratorSpec extends BaseKamonSpec("metrics-scale-decorator-sp
}
trait SnapshotFixtures {
- self: BaseKamonSpec =>
+ self: BaseKamonSpec ⇒
class ScaleDecoratorTestMetrics(instrumentFactory: InstrumentFactory)
- extends GenericEntityRecorder(instrumentFactory) {
+ extends GenericEntityRecorder(instrumentFactory) {
val nanoTime = histogram("nano-time", Time.Nanoseconds)
val microTime = counter("micro-time", Time.Microseconds)
val byteMemory = histogram("byte-memory", Memory.Bytes)
diff --git a/kamon-core/src/test/scala/kamon/metric/instrument/HistogramSpec.scala b/kamon-core/src/test/scala/kamon/metric/instrument/HistogramSpec.scala
index ff71cd56..adfcd826 100644
--- a/kamon-core/src/test/scala/kamon/metric/instrument/HistogramSpec.scala
+++ b/kamon-core/src/test/scala/kamon/metric/instrument/HistogramSpec.scala
@@ -64,8 +64,8 @@ class HistogramSpec extends WordSpec with Matchers {
snapshot.sum should be(41300)
snapshot.numberOfMeasurements should be(203)
- val records = snapshot.recordsIterator.map(r => r.level -> r.count).toSeq
- records.size should be (4)
+ val records = snapshot.recordsIterator.map(r ⇒ r.level -> r.count).toSeq
+ records.size should be(4)
records(0) should be(100 -> 1)
records(1) should be(200 -> 200)
records(2) should be(300 -> 1)
@@ -88,8 +88,8 @@ class HistogramSpec extends WordSpec with Matchers {
snapshot.sum should be(41300000)
snapshot.numberOfMeasurements should be(203)
- val records = snapshot.recordsIterator.map(r => r.level -> r.count).toSeq
- records.size should be (4)
+ val records = snapshot.recordsIterator.map(r ⇒ r.level -> r.count).toSeq
+ records.size should be(4)
records(0) should be(100000 -> 1)
records(1) should be(200000 -> 200)
records(2) should be(300000 -> 1)
diff --git a/kamon-core/src/test/scala/kamon/metric/instrument/UnitOfMeasurementSpec.scala b/kamon-core/src/test/scala/kamon/metric/instrument/UnitOfMeasurementSpec.scala
index 7133579e..10604fe5 100644
--- a/kamon-core/src/test/scala/kamon/metric/instrument/UnitOfMeasurementSpec.scala
+++ b/kamon-core/src/test/scala/kamon/metric/instrument/UnitOfMeasurementSpec.scala
@@ -17,7 +17,7 @@
package kamon.metric.instrument
import kamon.metric.instrument.UnitOfMeasurement.Unknown
-import org.scalatest.{Matchers, WordSpec}
+import org.scalatest.{ Matchers, WordSpec }
class UnitOfMeasurementSpec extends WordSpec with Matchers {
diff --git a/kamon-core/src/test/scala/kamon/util/NeedToScaleSpec.scala b/kamon-core/src/test/scala/kamon/util/NeedToScaleSpec.scala
index 3486a60c..a53451b6 100644
--- a/kamon-core/src/test/scala/kamon/util/NeedToScaleSpec.scala
+++ b/kamon-core/src/test/scala/kamon/util/NeedToScaleSpec.scala
@@ -17,8 +17,8 @@
package kamon.util
import com.typesafe.config.ConfigFactory
-import kamon.metric.instrument.{Memory, Time}
-import org.scalatest.{Matchers, WordSpec}
+import kamon.metric.instrument.{ Memory, Time }
+import org.scalatest.{ Matchers, WordSpec }
class NeedToScaleSpec extends WordSpec with Matchers {
@@ -30,7 +30,7 @@ class NeedToScaleSpec extends WordSpec with Matchers {
""".stripMargin)
config match {
- case NeedToScale(timeUnits, memoryUnits) =>
+ case NeedToScale(timeUnits, memoryUnits) ⇒
timeUnits should be(Some(Time.Milliseconds))
memoryUnits should be(None)
}
@@ -42,7 +42,7 @@ class NeedToScaleSpec extends WordSpec with Matchers {
""".stripMargin)
config match {
- case NeedToScale(timeUnits, memoryUnits) =>
+ case NeedToScale(timeUnits, memoryUnits) ⇒
timeUnits should be(None)
memoryUnits should be(Some(Memory.KiloBytes))
}
@@ -54,9 +54,9 @@ class NeedToScaleSpec extends WordSpec with Matchers {
""".stripMargin)
config match {
- case NeedToScale(timeUnits, memoryUnits) =>
+ case NeedToScale(timeUnits, memoryUnits) ⇒
fail("Should not match")
- case _ =>
+ case _ ⇒
}
}
}
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/jmx/MemoryUsageMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/system/jmx/MemoryUsageMetrics.scala
index dff2c72e..aaf0eabd 100644
--- a/kamon-system-metrics/src/main/scala/kamon/system/jmx/MemoryUsageMetrics.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/system/jmx/MemoryUsageMetrics.scala
@@ -32,8 +32,7 @@ import scala.collection.convert.WrapAsScala
class MemoryUsageMetrics(
instrumentFactory: InstrumentFactory,
memoryUsageBeansWithNames: Iterable[MemoryUsageWithMetricName],
- bufferPoolBeansWithNames: Iterable[BufferPoolWithMetricName]
-) extends GenericEntityRecorder(instrumentFactory) {
+ bufferPoolBeansWithNames: Iterable[BufferPoolWithMetricName]) extends GenericEntityRecorder(instrumentFactory) {
memoryUsageBeansWithNames.foreach {
case MemoryUsageWithMetricName(name, beanFun) ⇒
gauge(name + "-used", Memory.Bytes, () ⇒ {
@@ -112,6 +111,5 @@ object MemoryUsageMetrics extends JmxSystemMetricRecorderCompanion("jmx-memory")
MemoryUsageWithMetricName("non-heap", () ⇒ memoryMXBean.getNonHeapMemoryUsage) ::
MemoryUsageWithMetricName("heap", () ⇒ memoryMXBean.getHeapMemoryUsage) ::
usagesWithNames,
- bufferPoolsWithNames
- )
+ bufferPoolsWithNames)
}
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/sigar/ULimitMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/system/sigar/ULimitMetrics.scala
index 314c8450..3d0812cb 100644
--- a/kamon-system-metrics/src/main/scala/kamon/system/sigar/ULimitMetrics.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/system/sigar/ULimitMetrics.scala
@@ -10,11 +10,13 @@ class ULimitMetrics(sigar: Sigar, instrumentFactory: InstrumentFactory, logger:
val openFiles = histogram("open-files")
def update(): Unit = {
- openFiles.record(sigar.getProcFd(pid).getTotal)
+ import SigarSafeRunner._
+
+ openFiles.record(runSafe(sigar.getProcFd(pid).getTotal, 0L, "open-files", logger))
}
}
object ULimitMetrics extends SigarMetricRecorderCompanion("ulimit") {
def apply(sigar: Sigar, instrumentFactory: InstrumentFactory, logger: LoggingAdapter): ULimitMetrics =
new ULimitMetrics(sigar, instrumentFactory, logger)
-} \ No newline at end of file
+}
diff --git a/kamon-system-metrics/src/test/scala/kamon/metrics/SystemMetricsSpec.scala b/kamon-system-metrics/src/test/scala/kamon/metrics/SystemMetricsSpec.scala
index 2facc5a4..a1c41551 100644
--- a/kamon-system-metrics/src/test/scala/kamon/metrics/SystemMetricsSpec.scala
+++ b/kamon-system-metrics/src/test/scala/kamon/metrics/SystemMetricsSpec.scala
@@ -151,6 +151,12 @@ class SystemMetricsSpec extends BaseKamonSpec("system-metrics-spec") with Redire
processCpuMetrics.histogram("process-cpu").get.numberOfMeasurements should be > 0L
}
+ "record the open files for the application process" in {
+ val openFilesMetrics = takeSnapshotOf("ulimit", "system-metric")
+
+ openFilesMetrics.histogram("open-files").get.numberOfMeasurements should be > 0L
+ }
+
"record Context Switches Global, Voluntary and Non Voluntary metrics when running on Linux" in {
if (isLinux) {
val contextSwitchesMetrics = takeSnapshotOf("context-switches", "system-metric")