aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metric
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-07-08 23:06:42 -0300
committerIvan Topolnjak <ivantopo@gmail.com>2014-07-08 23:06:42 -0300
commit7c68d6324cfca0e88c1cd49e9c65b69f68edf55a (patch)
tree038f98855931489eb439c13419a38a60a2c389be /kamon-core/src/main/scala/kamon/metric
parentabaebea16ae227929d826059be39d95cd7247baf (diff)
downloadKamon-7c68d6324cfca0e88c1cd49e9c65b69f68edf55a.tar.gz
Kamon-7c68d6324cfca0e88c1cd49e9c65b69f68edf55a.tar.bz2
Kamon-7c68d6324cfca0e88c1cd49e9c65b69f68edf55a.zip
+ core: create the new KamonStandalone helper, closes #47
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metric')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/UserMetrics.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/UserMetrics.scala b/kamon-core/src/main/scala/kamon/metric/UserMetrics.scala
index dea03968..f3803d37 100644
--- a/kamon-core/src/main/scala/kamon/metric/UserMetrics.scala
+++ b/kamon-core/src/main/scala/kamon/metric/UserMetrics.scala
@@ -35,6 +35,18 @@ class UserMetricsExtension(system: ExtendedActorSystem) extends Kamon.Extension
def registerGauge(name: String, precision: Histogram.Precision, highestTrackableValue: Long,
refreshInterval: FiniteDuration)(currentValueCollector: Gauge.CurrentValueCollector): Gauge =
userMetricsRecorder.buildGauge(name, precision, highestTrackableValue, refreshInterval, currentValueCollector)
+
+ def removeHistogram(name: String): Unit =
+ userMetricsRecorder.removeHistogram(name)
+
+ def removeCounter(name: String): Unit =
+ userMetricsRecorder.removeCounter(name)
+
+ def removeMinMaxCounter(name: String): Unit =
+ userMetricsRecorder.removeMinMaxCounter(name)
+
+ def removeGauge(name: String): Unit =
+ userMetricsRecorder.removeGauge(name)
}
object UserMetrics extends ExtensionId[UserMetricsExtension] with ExtensionIdProvider with MetricGroupIdentity {
@@ -86,6 +98,18 @@ object UserMetrics extends ExtensionId[UserMetricsExtension] with ExtensionIdPro
def buildGauge(name: String)(currentValueCollector: Gauge.CurrentValueCollector): Gauge =
gauges.getOrElseUpdate(name, Gauge.fromConfig(defaultGaugePrecisionConfig, system)(currentValueCollector))
+ def removeHistogram(name: String): Unit =
+ histograms.remove(name)
+
+ def removeCounter(name: String): Unit =
+ counters.remove(name)
+
+ def removeMinMaxCounter(name: String): Unit =
+ minMaxCounters.remove(name).map(_.cleanup)
+
+ def removeGauge(name: String): Unit =
+ gauges.remove(name).map(_.cleanup)
+
def collect(context: CollectionContext): UserMetricsSnapshot = {
val histogramSnapshots = histograms.map {
case (name, histogram) ⇒