diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-12-05 02:22:25 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-12-05 02:22:25 +0100 |
commit | b32f871adec935090f54c56418e97d175243d0de (patch) | |
tree | 132342e4314e75687e1ae6b50d6b80e94ebcd2c2 /kamon-core/src/main/scala/kamon/TimeUnits.scala | |
parent | c2c38bd754684fa63aedacea2f5f0cb6f1990328 (diff) | |
download | Kamon-b32f871adec935090f54c56418e97d175243d0de.tar.gz Kamon-b32f871adec935090f54c56418e97d175243d0de.tar.bz2 Kamon-b32f871adec935090f54c56418e97d175243d0de.zip |
+ newrelic: react correctly to restart and shutdown events from the New Relic collector.
Diffstat (limited to 'kamon-core/src/main/scala/kamon/TimeUnits.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/TimeUnits.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/TimeUnits.scala b/kamon-core/src/main/scala/kamon/TimeUnits.scala index 44f5b4c3..f2933a11 100644 --- a/kamon-core/src/main/scala/kamon/TimeUnits.scala +++ b/kamon-core/src/main/scala/kamon/TimeUnits.scala @@ -1,10 +1,30 @@ package kamon /** + * Epoch time stamp in seconds. + */ +class Timestamp(val seconds: Long) extends AnyVal { + def <(that: Timestamp): Boolean = this.seconds < that.seconds + def >(that: Timestamp): Boolean = this.seconds > that.seconds + def ==(that: Timestamp): Boolean = this.seconds == that.seconds + def >=(that: Timestamp): Boolean = this.seconds >= that.seconds + def <=(that: Timestamp): Boolean = this.seconds <= that.seconds + + override def toString: String = String.valueOf(seconds) + ".seconds" +} + +object Timestamp { + def now: Timestamp = new Timestamp(System.currentTimeMillis() / 1000) + def earlier(l: Timestamp, r: Timestamp): Timestamp = if (l <= r) l else r + def later(l: Timestamp, r: Timestamp): Timestamp = if (l >= r) l else r +} + +/** * Epoch time stamp in milliseconds. */ class MilliTimestamp(val millis: Long) extends AnyVal { override def toString: String = String.valueOf(millis) + ".millis" + def toTimestamp: Timestamp = new Timestamp(millis / 1000) } object MilliTimestamp { |