diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2016-03-15 23:31:11 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2016-03-15 23:31:11 +0100 |
commit | 35bae24fc8ccec98361151c3215627525ed1a2fb (patch) | |
tree | 6a8788b3bc1819951b5a162630fa665abe274508 /kamon-core/src/main/scala/kamon/util/Timestamp.scala | |
parent | aa613bc7b1807d03172b13a9a969fd95a88ca091 (diff) | |
parent | aa93757d615d805a9b6c30541055601b0df22951 (diff) | |
download | Kamon-35bae24fc8ccec98361151c3215627525ed1a2fb.tar.gz Kamon-35bae24fc8ccec98361151c3215627525ed1a2fb.tar.bz2 Kamon-35bae24fc8ccec98361151c3215627525ed1a2fb.zip |
Merge branch 'issue#271/fix-balancing-pool-metrics'
Diffstat (limited to 'kamon-core/src/main/scala/kamon/util/Timestamp.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/util/Timestamp.scala | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/util/Timestamp.scala b/kamon-core/src/main/scala/kamon/util/Timestamp.scala index eadc6690..5a192304 100644 --- a/kamon-core/src/main/scala/kamon/util/Timestamp.scala +++ b/kamon-core/src/main/scala/kamon/util/Timestamp.scala @@ -59,6 +59,8 @@ object MilliTimestamp { * timestamp in nanoseconds. */ class NanoTimestamp(val nanos: Long) extends AnyVal { + def -(that: NanoTimestamp) = new NanoTimestamp(nanos - that.nanos) + def +(that: NanoTimestamp) = new NanoTimestamp(nanos + that.nanos) override def toString: String = String.valueOf(nanos) + ".nanos" } @@ -70,6 +72,8 @@ object NanoTimestamp { * Number of nanoseconds between a arbitrary origin timestamp provided by the JVM via System.nanoTime() */ class RelativeNanoTimestamp(val nanos: Long) extends AnyVal { + def -(that: RelativeNanoTimestamp) = new RelativeNanoTimestamp(nanos - that.nanos) + def +(that: RelativeNanoTimestamp) = new RelativeNanoTimestamp(nanos + that.nanos) override def toString: String = String.valueOf(nanos) + ".nanos" def toMilliTimestamp: MilliTimestamp = @@ -77,6 +81,8 @@ class RelativeNanoTimestamp(val nanos: Long) extends AnyVal { } object RelativeNanoTimestamp { + val zero = new RelativeNanoTimestamp(0L) + def now: RelativeNanoTimestamp = new RelativeNanoTimestamp(System.nanoTime()) def relativeTo(milliTimestamp: MilliTimestamp): RelativeNanoTimestamp = new RelativeNanoTimestamp(now.nanos - (MilliTimestamp.now.millis - milliTimestamp.millis) * 1000000) |