aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/util
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2016-03-14 21:59:02 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2016-03-14 21:59:02 +0100
commitaa93757d615d805a9b6c30541055601b0df22951 (patch)
treee0e12d34daaa09a29b5df8880d96d6b4df95fbde /kamon-core/src/main/scala/kamon/util
parent05c38b4aba959c0c9aa4def450fb734a03b4e4b9 (diff)
downloadKamon-aa93757d615d805a9b6c30541055601b0df22951.tar.gz
Kamon-aa93757d615d805a9b6c30541055601b0df22951.tar.bz2
Kamon-aa93757d615d805a9b6c30541055601b0df22951.zip
introduce selective instrumentation for akka actors.
Diffstat (limited to 'kamon-core/src/main/scala/kamon/util')
-rw-r--r--kamon-core/src/main/scala/kamon/util/Timestamp.scala6
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)