diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-07-08 23:06:42 -0300 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-07-08 23:06:42 -0300 |
commit | 7c68d6324cfca0e88c1cd49e9c65b69f68edf55a (patch) | |
tree | 038f98855931489eb439c13419a38a60a2c389be /kamon-core/src/main/scala/kamon/metric | |
parent | abaebea16ae227929d826059be39d95cd7247baf (diff) | |
download | Kamon-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.scala | 24 |
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) ⇒ |