aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/util
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/util')
-rw-r--r--kamon-core/src/main/scala/kamon/util/Clock.scala19
1 files changed, 13 insertions, 6 deletions
diff --git a/kamon-core/src/main/scala/kamon/util/Clock.scala b/kamon-core/src/main/scala/kamon/util/Clock.scala
index 55bb529a..b0b47a2b 100644
--- a/kamon-core/src/main/scala/kamon/util/Clock.scala
+++ b/kamon-core/src/main/scala/kamon/util/Clock.scala
@@ -1,9 +1,16 @@
package kamon.util
-trait Clock {
- def nanoTimestamp(): Long
- def microTimestamp(): Long
- def milliTimestamp(): Long
+object Clock {
+ private val startTimeMillis = System.currentTimeMillis()
+ private val startNanoTime = System.nanoTime()
+ private val startMicroTime = startTimeMillis * 1000L
- def relativeNanoTimestamp(): Long
-}
+ def microTimestamp(): Long =
+ startMicroTime + ((System.nanoTime() - startNanoTime) / 1000L)
+
+ def milliTimestamp(): Long =
+ System.currentTimeMillis()
+
+ def relativeNanoTimestamp(): Long =
+ System.nanoTime()
+} \ No newline at end of file