aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/Tracer.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-12-13 23:32:30 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2017-12-14 00:05:55 +0100
commit622c8d12735c1a8de3716984686e52bc33368004 (patch)
tree6665d553b6fbea36391e7eb4b25f2fbfc4526f58 /kamon-core/src/main/scala/kamon/trace/Tracer.scala
parent4a2d29852c8fc558ae1eaf61a25bde5a0bc161bc (diff)
downloadKamon-622c8d12735c1a8de3716984686e52bc33368004.tar.gz
Kamon-622c8d12735c1a8de3716984686e52bc33368004.tar.bz2
Kamon-622c8d12735c1a8de3716984686e52bc33368004.zip
use java.time.Instant with nanoseconds precision in the Tracer
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Tracer.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Tracer.scala12
1 files changed, 7 insertions, 5 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala
index 4950a700..3e857f00 100644
--- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala
+++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala
@@ -15,6 +15,8 @@
package kamon.trace
+import java.time.Instant
+
import com.typesafe.config.Config
import kamon.ReporterRegistry.SpanSink
import kamon.Kamon
@@ -92,7 +94,7 @@ object Tracer {
final class SpanBuilder(operationName: String, tracer: Tracer.Default, spanSink: SpanSink, clock: Clock) {
private var parentSpan: Span = _
private var initialOperationName: String = operationName
- private var startTimestamp = 0L
+ private var from: Instant = Instant.EPOCH
private var initialSpanTags = Map.empty[String, Span.TagValue]
private var initialMetricTags = Map.empty[String, String]
private var useParentFromContext = true
@@ -125,8 +127,8 @@ object Tracer {
this
}
- def withStartTimestamp(microseconds: Long): SpanBuilder = {
- this.startTimestamp = microseconds
+ def withFrom(from: Instant): SpanBuilder = {
+ this.from = from
this
}
@@ -158,7 +160,7 @@ object Tracer {
def start(): Span = {
- val startTimestampMicros = if(startTimestamp != 0L) startTimestamp else clock.micros()
+ val spanFrom = if(from == Instant.EPOCH) clock.instant() else from
val parentSpan: Option[Span] = Option(this.parentSpan)
.orElse(if(useParentFromContext) Some(Kamon.currentContext().get(Span.ContextKey)) else None)
@@ -183,7 +185,7 @@ object Tracer {
initialOperationName,
initialSpanTags,
initialMetricTags,
- startTimestampMicros,
+ spanFrom,
spanSink,
trackMetrics,
tracer.scopeSpanMetrics,