aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/Span.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Span.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Span.scala9
1 files changed, 6 insertions, 3 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Span.scala b/kamon-core/src/main/scala/kamon/trace/Span.scala
index e012d46a..a23c1f49 100644
--- a/kamon-core/src/main/scala/kamon/trace/Span.scala
+++ b/kamon-core/src/main/scala/kamon/trace/Span.scala
@@ -136,13 +136,16 @@ class Span(spanContext: SpanContext, initialOperationName: String, initialTags:
override def finish(): Unit =
finish(Clock.microTimestamp())
- override def finish(finishMicros: Long): Unit =
- if(isOpen) {
+ override def finish(finishMicros: Long): Unit = synchronized {
+ if (isOpen) {
isOpen = false
endTimestampMicros = finishMicros
recordSpanMetrics()
- reporterRegistry.reportSpan(completedSpan)
+
+ if(sampled)
+ reporterRegistry.reportSpan(completedSpan)
}
+ }
private def completedSpan: Span.CompletedSpan =
Span.CompletedSpan(spanContext, operationName, startTimestampMicros, endTimestampMicros, tags, logs)