aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/metric/TimerSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/test/scala/kamon/metric/TimerSpec.scala')
-rw-r--r--kamon-core/src/test/scala/kamon/metric/TimerSpec.scala72
1 files changed, 0 insertions, 72 deletions
diff --git a/kamon-core/src/test/scala/kamon/metric/TimerSpec.scala b/kamon-core/src/test/scala/kamon/metric/TimerSpec.scala
deleted file mode 100644
index 3fc1e169..00000000
--- a/kamon-core/src/test/scala/kamon/metric/TimerSpec.scala
+++ /dev/null
@@ -1,72 +0,0 @@
-package kamon.metric
-
-import kamon.Kamon
-import org.scalatest.{Matchers, WordSpec}
-
-
-class TimerSpec extends WordSpec with Matchers {
- import TimerTestHelper._
-
- "a Timer" should {
- "record the duration between calls to .start() and .stop() in the StartedTimer" in {
- val timer = Kamon.timer("timer-spec")
- timer.start().stop()
- timer.start().stop()
- timer.start().stop()
-
- timer.distribution().count shouldBe(3)
- }
-
- "ensure that a started timer can only be stopped once" in {
- val timer = Kamon.timer("timer-spec")
- val startedTimer = timer.start()
- startedTimer.stop()
- startedTimer.stop()
- startedTimer.stop()
-
- timer.distribution().count shouldBe(1)
- }
-
-
- "allow to record values and produce distributions as Histograms do" in {
- val timer = Kamon.timer("test-timer")
- timer.record(100)
- timer.record(150, 998)
- timer.record(200)
-
- val distribution = timer.distribution()
- distribution.min shouldBe(100)
- distribution.max shouldBe(200)
- distribution.count shouldBe(1000)
- distribution.buckets.length shouldBe 3
- distribution.buckets.map(b => (b.value, b.frequency)) should contain.allOf(
- (100 -> 1),
- (150 -> 998),
- (200 -> 1)
- )
-
- val emptyDistribution = timer.distribution()
- emptyDistribution.min shouldBe(0)
- emptyDistribution.max shouldBe(0)
- emptyDistribution.count shouldBe(0)
- emptyDistribution.buckets.length shouldBe 0
- }
- }
-}
-
-object TimerTestHelper {
-
- implicit class HistogramMetricSyntax(histogram: Histogram) {
- def distribution(resetState: Boolean = true): Distribution = histogram match {
- case h: AtomicHdrHistogram => h.snapshot(resetState).distribution
- case h: HdrHistogram => h.snapshot(resetState).distribution
- }
- }
-
- implicit class TimerMetricSyntax(metric: TimerMetric) {
- def distribution(resetState: Boolean = true): Distribution =
- metric.refine(Map.empty[String, String]) match {
- case t: TimerImpl => t.histogram.distribution(resetState)
- }
- }
-}