From 2f4bc7b532dbfeb6bbd411cd172c64e164427624 Mon Sep 17 00:00:00 2001 From: William Delanoue Date: Tue, 24 Dec 2019 13:06:29 +0100 Subject: [PATCH] finish span when actor finish received --- .../contrib/akka/DistributedTracedActor.java | 2 ++ .../contrib/akka/DistributedTracedMessage.java | 11 ++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/opentracing/contrib/akka/DistributedTracedActor.java b/src/main/java/io/opentracing/contrib/akka/DistributedTracedActor.java index 21b863f..b13028a 100644 --- a/src/main/java/io/opentracing/contrib/akka/DistributedTracedActor.java +++ b/src/main/java/io/opentracing/contrib/akka/DistributedTracedActor.java @@ -40,6 +40,8 @@ public static void aroundReceive( try (Scope ignored = tracer.scopeManager().activate(span)) { superConsumer.accept(receive, originalMessage); + } finally { + span.finish(); } } } diff --git a/src/main/java/io/opentracing/contrib/akka/DistributedTracedMessage.java b/src/main/java/io/opentracing/contrib/akka/DistributedTracedMessage.java index cac931f..896028e 100644 --- a/src/main/java/io/opentracing/contrib/akka/DistributedTracedMessage.java +++ b/src/main/java/io/opentracing/contrib/akka/DistributedTracedMessage.java @@ -69,17 +69,14 @@ Span activeSpan() { } Span activeSpan(final Tracer tracer) { - final Tracer.SpanBuilder spanBuilder = tracer.buildSpan("receive") + Tracer.SpanBuilder spanBuilder = tracer.buildSpan("receive") .ignoreActiveSpan() - .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CONSUMER); + .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CONSUMER) + .withTag(Tags.COMPONENT, "java-akka"); final SpanContext context = spanContext(tracer); if (context != null) { - spanBuilder.addReference(References.FOLLOWS_FROM, context); - - Span span = spanBuilder.start(); - Tags.COMPONENT.set(span, "akka"); - + spanBuilder = spanBuilder.addReference(References.FOLLOWS_FROM, context); } return spanBuilder.start(); }