diff --git a/src/test/java/io/opentracing/contrib/examples/activate_deactivate/Callback.java b/src/test/java/io/opentracing/contrib/examples/activate_deactivate/Callback.java index 7928a7f..bbf2623 100644 --- a/src/test/java/io/opentracing/contrib/examples/activate_deactivate/Callback.java +++ b/src/test/java/io/opentracing/contrib/examples/activate_deactivate/Callback.java @@ -1,7 +1,9 @@ package io.opentracing.contrib.examples.activate_deactivate; -import io.opentracing.ActiveSpan; -import io.opentracing.ActiveSpan.Continuation; +import io.opentracing.Scope; +import io.opentracing.Scope.Observer; +import io.opentracing.ScopeManager; +import io.opentracing.Span; import io.opentracing.tag.Tags; import java.util.concurrent.TimeUnit; import org.slf4j.Logger; @@ -15,27 +17,23 @@ public class Callback implements Runnable { private static final Logger logger = LoggerFactory.getLogger(Callback.class); - private final Continuation continuation; + private final Span continuation; - Callback(ActiveSpan activeSpan) { - continuation = activeSpan.capture(); + Callback(Span activeSpan) { + continuation = activeSpan; logger.info("Callback created"); } @Override public void run() { logger.info("Callback started"); - ActiveSpan activeSpan = continuation.activate(); - try { + try (Scope scope = continuation.activate(Observer.FINISH_ON_CLOSE)) { TimeUnit.SECONDS.sleep(1); + logger.info("Callback finished"); + scope.span().setTag(Tags.HTTP_STATUS.getKey(), 200); // we need it to test that finished span has it } catch (InterruptedException e) { e.printStackTrace(); } - - activeSpan - .setTag(Tags.HTTP_STATUS.getKey(), 200); // we need it to test that finished span has it - activeSpan.deactivate(); - logger.info("Callback finished"); } } diff --git a/src/test/java/io/opentracing/contrib/examples/activate_deactivate/TestCallback.java b/src/test/java/io/opentracing/contrib/examples/activate_deactivate/TestCallback.java index ea1474c..6ac7709 100644 --- a/src/test/java/io/opentracing/contrib/examples/activate_deactivate/TestCallback.java +++ b/src/test/java/io/opentracing/contrib/examples/activate_deactivate/TestCallback.java @@ -5,12 +5,13 @@ import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertEquals; -import io.opentracing.ActiveSpan; +import io.opentracing.Scope; +import io.opentracing.Scope.Observer; import io.opentracing.mock.MockSpan; import io.opentracing.mock.MockTracer; import io.opentracing.mock.MockTracer.Propagator; import io.opentracing.tag.Tags; -import io.opentracing.util.ThreadLocalActiveSpanSource; +import io.opentracing.util.ThreadLocalScopeManager; import java.util.List; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -23,12 +24,12 @@ public class TestCallback { private static final Logger logger = LoggerFactory.getLogger(TestCallback.class); - private final MockTracer tracer = new MockTracer(new ThreadLocalActiveSpanSource(), - Propagator.TEXT_MAP); + private final MockTracer tracer = new MockTracer(Propagator.TEXT_MAP); private final ScheduledExecutorService service = Executors.newScheduledThreadPool(1); @Test public void test() throws Exception { + tracer.setScopeManager(new ThreadLocalScopeManager()); Thread entryThread = entryThread(); entryThread.start(); entryThread.join(10_000); @@ -50,13 +51,13 @@ private Thread entryThread() { @Override public void run() { logger.info("Entry thread started"); - ActiveSpan activeSpan = tracer.buildSpan("parent").startActive(); - Runnable callback = new Callback(activeSpan); + Scope scope = tracer.buildSpan("parent").startActive(); + Runnable callback = new Callback(scope.span()); // Callback is executed at some unpredictable time and we are not able to check status of the callback service.schedule(callback, 500, TimeUnit.MILLISECONDS); - activeSpan.deactivate(); + scope.close(); logger.info("Entry thread finished"); } }); diff --git a/src/test/java/io/opentracing/contrib/examples/client_server/Client.java b/src/test/java/io/opentracing/contrib/examples/client_server/Client.java index 346fd9c..359241b 100644 --- a/src/test/java/io/opentracing/contrib/examples/client_server/Client.java +++ b/src/test/java/io/opentracing/contrib/examples/client_server/Client.java @@ -1,6 +1,7 @@ package io.opentracing.contrib.examples.client_server; -import io.opentracing.ActiveSpan; +import io.opentracing.Scope; +import io.opentracing.Scope.Observer; import io.opentracing.Tracer; import io.opentracing.propagation.Format.Builtin; import io.opentracing.propagation.TextMapInjectAdapter; @@ -20,16 +21,16 @@ public Client(ArrayBlockingQueue queue, Tracer tracer) { public void send() { Message message = new Message(); - ActiveSpan activeSpan = tracer.buildSpan("send").startActive(); - activeSpan.setTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT); - tracer.inject(activeSpan.context(), Builtin.TEXT_MAP, new TextMapInjectAdapter(message)); + Scope scope = tracer.buildSpan("send").startActive(Observer.FINISH_ON_CLOSE); + scope.span().setTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT); + tracer.inject(scope.span().context(), Builtin.TEXT_MAP, new TextMapInjectAdapter(message)); try { queue.put(message); } catch (InterruptedException e) { e.printStackTrace(); } finally { - activeSpan.deactivate(); + scope.close(); } } diff --git a/src/test/java/io/opentracing/contrib/examples/client_server/Server.java b/src/test/java/io/opentracing/contrib/examples/client_server/Server.java index d6946c6..cd3cf90 100644 --- a/src/test/java/io/opentracing/contrib/examples/client_server/Server.java +++ b/src/test/java/io/opentracing/contrib/examples/client_server/Server.java @@ -1,6 +1,7 @@ package io.opentracing.contrib.examples.client_server; -import io.opentracing.ActiveSpan; +import io.opentracing.Scope; +import io.opentracing.Scope.Observer; import io.opentracing.SpanContext; import io.opentracing.Tracer; import io.opentracing.propagation.Format.Builtin; @@ -20,10 +21,10 @@ public Server(ArrayBlockingQueue queue, Tracer tracer) { private void process(Message message) { SpanContext context = tracer.extract(Builtin.TEXT_MAP, new TextMapExtractAdapter(message)); - ActiveSpan activeSpan = tracer.buildSpan("receive").asChildOf(context).startActive(); - activeSpan.setTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER); - - activeSpan.deactivate(); + Scope scope = tracer.buildSpan("receive").asChildOf(context).startActive( + Observer.FINISH_ON_CLOSE); + scope.span().setTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER); + scope.close(); } @Override diff --git a/src/test/java/io/opentracing/contrib/examples/client_server/TestClientServer.java b/src/test/java/io/opentracing/contrib/examples/client_server/TestClientServer.java index 311ff71..c6d4269 100644 --- a/src/test/java/io/opentracing/contrib/examples/client_server/TestClientServer.java +++ b/src/test/java/io/opentracing/contrib/examples/client_server/TestClientServer.java @@ -12,7 +12,7 @@ import io.opentracing.mock.MockTracer; import io.opentracing.mock.MockTracer.Propagator; import io.opentracing.tag.Tags; -import io.opentracing.util.ThreadLocalActiveSpanSource; +import io.opentracing.util.ThreadLocalScopeManager; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.TimeUnit; @@ -22,13 +22,13 @@ public class TestClientServer { - private final MockTracer tracer = new MockTracer(new ThreadLocalActiveSpanSource(), - Propagator.TEXT_MAP); + private final MockTracer tracer = new MockTracer(Propagator.TEXT_MAP); private final ArrayBlockingQueue queue = new ArrayBlockingQueue<>(10); private Server server; @Before public void before() { + tracer.setScopeManager(new ThreadLocalScopeManager()); server = new Server(queue, tracer); server.start(); } @@ -51,6 +51,6 @@ public void test() { assertEquals(finished.get(0).context().traceId(), finished.get(1).context().traceId()); assertNotNull(getByTag(finished, Tags.SPAN_KIND, Tags.SPAN_KIND_CLIENT)); assertNotNull(getByTag(finished, Tags.SPAN_KIND, Tags.SPAN_KIND_SERVER)); - assertNull(tracer.activeSpan()); + assertNull(tracer.scopeManager().active()); } } diff --git a/src/test/java/io/opentracing/contrib/examples/listener_per_request/TestListener.java b/src/test/java/io/opentracing/contrib/examples/listener_per_request/TestListener.java index 874757d..94b5d57 100644 --- a/src/test/java/io/opentracing/contrib/examples/listener_per_request/TestListener.java +++ b/src/test/java/io/opentracing/contrib/examples/listener_per_request/TestListener.java @@ -9,7 +9,7 @@ import io.opentracing.mock.MockTracer; import io.opentracing.mock.MockTracer.Propagator; import io.opentracing.tag.Tags; -import io.opentracing.util.ThreadLocalActiveSpanSource; +import io.opentracing.util.ThreadLocalScopeManager; import java.util.List; import org.junit.Test; @@ -18,11 +18,11 @@ */ public class TestListener { - private final MockTracer tracer = new MockTracer(new ThreadLocalActiveSpanSource(), - Propagator.TEXT_MAP); + private final MockTracer tracer = new MockTracer(Propagator.TEXT_MAP); @Test public void test() throws Exception { + tracer.setScopeManager(new ThreadLocalScopeManager()); Client client = new Client(tracer); Object response = client.send("message").get(); assertEquals("message:response", response); @@ -30,6 +30,6 @@ public void test() throws Exception { List finished = tracer.finishedSpans(); assertEquals(1, finished.size()); assertNotNull(getByTag(finished, Tags.SPAN_KIND, Tags.SPAN_KIND_CLIENT)); - assertNull(tracer.activeSpan()); + assertNull(tracer.scopeManager().active()); } }