aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/system/jmx/GarbageCollectionMetrics.scala6
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/system/jmx/JmxSystemMetricRecorderCompanion.scala8
-rw-r--r--kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarMetricsUpdater.scala9
-rw-r--r--project/Settings.scala3
-rw-r--r--project/plugins.sbt2
5 files changed, 17 insertions, 11 deletions
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/jmx/GarbageCollectionMetrics.scala b/kamon-system-metrics/src/main/scala/kamon/system/jmx/GarbageCollectionMetrics.scala
index 2e9ea954..5258a81e 100644
--- a/kamon-system-metrics/src/main/scala/kamon/system/jmx/GarbageCollectionMetrics.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/system/jmx/GarbageCollectionMetrics.scala
@@ -45,9 +45,11 @@ object GarbageCollectionMetrics {
name.replaceAll("""[^\w]""", "-").toLowerCase
def register(metricsExtension: MetricsModule): Unit = {
- ManagementFactory.getGarbageCollectorMXBeans.asScala.filter(_.isValid) map { gc ⇒
+ ManagementFactory.getGarbageCollectorMXBeans.asScala.filter(_.isValid) foreach { gc ⇒
val gcName = sanitizeCollectorName(gc.getName)
- Kamon.metrics.entity(EntityRecorderFactory("system-metric", new GarbageCollectionMetrics(gc, _)), s"$gcName-garbage-collector")
+ val metricName = s"$gcName-garbage-collector"
+ if (metricsExtension.shouldTrack(metricName, "system-metric"))
+ Kamon.metrics.entity(EntityRecorderFactory("system-metric", new GarbageCollectionMetrics(gc, _)), metricName)
}
}
}
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/jmx/JmxSystemMetricRecorderCompanion.scala b/kamon-system-metrics/src/main/scala/kamon/system/jmx/JmxSystemMetricRecorderCompanion.scala
index 2a86c13c..b5421375 100644
--- a/kamon-system-metrics/src/main/scala/kamon/system/jmx/JmxSystemMetricRecorderCompanion.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/system/jmx/JmxSystemMetricRecorderCompanion.scala
@@ -20,8 +20,10 @@ import kamon.metric.instrument.InstrumentFactory
import kamon.metric.{ MetricsModule, EntityRecorderFactory, EntityRecorder }
abstract class JmxSystemMetricRecorderCompanion(metricName: String) {
- def register(metricsExtension: MetricsModule): EntityRecorder =
- metricsExtension.entity(EntityRecorderFactory("system-metric", apply(_)), metricName)
+ def register(metricsExtension: MetricsModule): Unit = {
+ if (metricsExtension.shouldTrack(metricName, "system-metric"))
+ metricsExtension.entity(EntityRecorderFactory("system-metric", apply(_)), metricName)
+ }
def apply(instrumentFactory: InstrumentFactory): EntityRecorder
-} \ No newline at end of file
+}
diff --git a/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarMetricsUpdater.scala b/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarMetricsUpdater.scala
index c0da6dc1..585352e4 100644
--- a/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarMetricsUpdater.scala
+++ b/kamon-system-metrics/src/main/scala/kamon/system/sigar/SigarMetricsUpdater.scala
@@ -38,7 +38,7 @@ class SigarMetricsUpdater(refreshInterval: FiniteDuration) extends Actor {
MemoryMetrics.register(sigar, metricsExtension, logger),
NetworkMetrics.register(sigar, metricsExtension, logger),
ProcessCpuMetrics.register(sigar, metricsExtension, logger),
- ULimitMetrics.register(sigar, metricsExtension, logger))
+ ULimitMetrics.register(sigar, metricsExtension, logger)).flatten
val refreshSchedule = context.system.scheduler.schedule(refreshInterval, refreshInterval, self, UpdateSigarMetrics)(context.dispatcher)
@@ -83,8 +83,11 @@ object SigarSafeRunner {
}
abstract class SigarMetricRecorderCompanion(metricName: String) {
- def register(sigar: Sigar, metricsExtension: MetricsModule, logger: LoggingAdapter = NoLogging): SigarMetric =
- metricsExtension.entity(EntityRecorderFactory("system-metric", apply(sigar, _)), metricName)
+ def register(sigar: Sigar, metricsExtension: MetricsModule, logger: LoggingAdapter = NoLogging): Option[SigarMetric] =
+ if (metricsExtension.shouldTrack(metricName, "system-metric"))
+ Some(metricsExtension.entity(EntityRecorderFactory("system-metric", apply(sigar, _)), metricName))
+ else
+ None
def apply(sigar: Sigar, instrumentFactory: InstrumentFactory, logger: LoggingAdapter = NoLogging): SigarMetric
}
diff --git a/project/Settings.scala b/project/Settings.scala
index 1b6c96d2..1b71710e 100644
--- a/project/Settings.scala
+++ b/project/Settings.scala
@@ -21,7 +21,6 @@ import com.typesafe.sbt.SbtScalariform.ScalariformKeys
import Publish.{settings => publishSettings}
import Release.{settings => releaseSettings}
import scalariform.formatter.preferences._
-import net.virtualvoid.sbt.graph.Plugin.graphSettings
object Settings {
@@ -51,7 +50,7 @@ object Settings {
"-language:implicitConversions",
"-Yinline-warnings",
"-Xlog-reflective-calls"
- )) ++ publishSettings ++ releaseSettings ++ graphSettings
+ )) ++ publishSettings ++ releaseSettings
def singleTestPerJvm(tests: Seq[TestDefinition], jvmSettings: Seq[String]): Seq[Group] =
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 0b0fb5e7..ab52e642 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -14,4 +14,4 @@ addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "0.2.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.1")
-addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.7.4") \ No newline at end of file
+addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.1")