aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala')
-rw-r--r--kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala107
1 files changed, 0 insertions, 107 deletions
diff --git a/kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala b/kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala
deleted file mode 100644
index 002dc470..00000000
--- a/kamon-core/src/legacy-main/scala/kamon/util/Timestamp.scala
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * =========================================================================================
- * Copyright © 2013-2015 the kamon project <http://kamon.io/>
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language governing permissions
- * and limitations under the License.
- * =========================================================================================
- */
-
-package kamon.util
-
-/**
- * Epoch time stamp.
- */
-case class Timestamp(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.
- */
-case class MilliTimestamp(millis: Long) extends AnyVal {
- override def toString: String = String.valueOf(millis) + ".millis"
-
- def toTimestamp: Timestamp = new Timestamp(millis / 1000)
- def toRelativeNanoTimestamp: RelativeNanoTimestamp = {
- val diff = (System.currentTimeMillis() - millis) * 1000000
- new RelativeNanoTimestamp(System.nanoTime() - diff)
- }
-}
-
-object MilliTimestamp {
- def now: MilliTimestamp = new MilliTimestamp(System.currentTimeMillis())
-}
-
-/**
- * Epoch time stamp in nanoseconds.
- *
- * NOTE: This doesn't have any better precision than MilliTimestamp, it is just a convenient way to get a epoch
- * timestamp in nanoseconds.
- */
-case class NanoTimestamp(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"
-}
-
-object NanoTimestamp {
- def now: NanoTimestamp = new NanoTimestamp(System.currentTimeMillis() * 1000000)
-}
-
-/**
- * Number of nanoseconds between a arbitrary origin timestamp provided by the JVM via System.nanoTime()
- */
-case class RelativeNanoTimestamp(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 =
- new MilliTimestamp(System.currentTimeMillis - ((System.nanoTime - nanos) / 1000000))
-}
-
-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)
-}
-
-/**
- * Number of nanoseconds that passed between two points in time.
- */
-case class NanoInterval(nanos: Long) extends AnyVal {
- def <(that: NanoInterval): Boolean = this.nanos < that.nanos
- def >(that: NanoInterval): Boolean = this.nanos > that.nanos
- def ==(that: NanoInterval): Boolean = this.nanos == that.nanos
- def >=(that: NanoInterval): Boolean = this.nanos >= that.nanos
- def <=(that: NanoInterval): Boolean = this.nanos <= that.nanos
-
- override def toString: String = String.valueOf(nanos) + ".nanos"
-}
-
-object NanoInterval {
- def default: NanoInterval = new NanoInterval(0L)
- def since(relative: RelativeNanoTimestamp): NanoInterval = new NanoInterval(System.nanoTime() - relative.nanos)
-}