aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/TimeUnits.scala
diff options
context:
space:
mode:
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 {