aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metric/Metrics.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metric/Metrics.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/Metrics.scala39
1 files changed, 5 insertions, 34 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/Metrics.scala b/kamon-core/src/main/scala/kamon/metric/Metrics.scala
index dcd54bc7..b904ec56 100644
--- a/kamon-core/src/main/scala/kamon/metric/Metrics.scala
+++ b/kamon-core/src/main/scala/kamon/metric/Metrics.scala
@@ -18,10 +18,9 @@ package kamon.metric
import java.util.concurrent.TimeUnit
import akka.actor.ActorRef
import com.codahale.metrics
-import com.codahale.metrics.{MetricFilter, Metric, ConsoleReporter, MetricRegistry}
+import com.codahale.metrics.{ MetricFilter, Metric, ConsoleReporter, MetricRegistry }
import scala.collection.concurrent.TrieMap
-
object Metrics {
val registry: MetricRegistry = new MetricRegistry
@@ -41,8 +40,6 @@ object Metrics {
})
}
-
-
def deregister(fullName: String) = {
registry.removeMatching(new MetricFilter {
def matches(name: String, metric: Metric): Boolean = name.startsWith(fullName)
@@ -64,30 +61,14 @@ object MetricDirectory {
def shouldInstrument(actorSystem: String): Boolean = !actorSystem.startsWith("kamon")
-
def shouldInstrumentActor(actorPath: String): Boolean = {
!(actorPath.isEmpty || actorPath.startsWith("system"))
}
-
}
-
-
-
-
-
-
-
-
-
-
-
case class DispatcherMetricCollector(activeThreadCount: Histogram, poolSize: Histogram, queueSize: Histogram)
-
-
-
trait Histogram {
def update(value: Long): Unit
def snapshot: HistogramSnapshot
@@ -99,7 +80,6 @@ trait HistogramSnapshot {
def min: Double
}
-
case class ActorSystemMetrics(actorSystemName: String) {
val dispatchers = TrieMap.empty[String, DispatcherMetricCollector]
@@ -113,7 +93,6 @@ case class ActorSystemMetrics(actorSystemName: String) {
}
-
case class CodahaleHistogram() extends Histogram {
private[this] val histogram = new com.codahale.metrics.Histogram(new metrics.ExponentiallyDecayingReservoir())
@@ -127,31 +106,23 @@ case class CodahaleHistogram() extends Histogram {
case class CodahaleHistogramSnapshot(median: Double, max: Double, min: Double) extends HistogramSnapshot
-
-
-
-
-
-
/**
* Dispatcher Metrics that we care about currently with a histogram-like nature:
* - Work Queue Size
* - Total/Active Thread Count
*/
-
-
import annotation.tailrec
import java.util.concurrent.atomic.AtomicReference
object Atomic {
- def apply[T]( obj : T) = new Atomic(new AtomicReference(obj))
- implicit def toAtomic[T]( ref : AtomicReference[T]) : Atomic[T] = new Atomic(ref)
+ def apply[T](obj: T) = new Atomic(new AtomicReference(obj))
+ implicit def toAtomic[T](ref: AtomicReference[T]): Atomic[T] = new Atomic(ref)
}
-class Atomic[T](val atomic : AtomicReference[T]) {
+class Atomic[T](val atomic: AtomicReference[T]) {
@tailrec
- final def update(f: T => T) : T = {
+ final def update(f: T ⇒ T): T = {
val oldValue = atomic.get()
val newValue = f(oldValue)
if (atomic.compareAndSet(oldValue, newValue)) newValue else update(f)