aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/TimeUnits.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-12-05 02:22:25 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2014-12-05 02:22:25 +0100
commitb32f871adec935090f54c56418e97d175243d0de (patch)
tree132342e4314e75687e1ae6b50d6b80e94ebcd2c2 /kamon-core/src/main/scala/kamon/TimeUnits.scala
parentc2c38bd754684fa63aedacea2f5f0cb6f1990328 (diff)
downloadKamon-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.scala20
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 {