From 05e6544ded82f520a6a9fdd7f0385a58e2b826d6 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Sat, 19 Oct 2019 11:57:48 -0700 Subject: [PATCH] Update spymemcached-2.12 to new agent api --- .../BulkGetCompletionListener.java | 5 +++-- .../spymemcached/CompletionListener.java | 21 ++++++++++--------- .../spymemcached/GetCompletionListener.java | 4 ++-- .../spymemcached/MemcacheClientDecorator.java | 4 ++-- .../OperationCompletionListener.java | 4 ++-- .../spymemcached/SyncCompletionListener.java | 4 ++-- 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/BulkGetCompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/BulkGetCompletionListener.java index 20a47f99d3..8bb2b06d30 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/BulkGetCompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/BulkGetCompletionListener.java @@ -1,12 +1,13 @@ package datadog.trace.instrumentation.spymemcached; -import io.opentracing.Span; +import datadog.trace.instrumentation.api.AgentSpan; import java.util.concurrent.ExecutionException; import net.spy.memcached.MemcachedConnection; import net.spy.memcached.internal.BulkGetFuture; public class BulkGetCompletionListener extends CompletionListener> implements net.spy.memcached.internal.BulkGetCompletionListener { + public BulkGetCompletionListener(final MemcachedConnection connection, final String methodName) { super(connection, methodName); } @@ -17,7 +18,7 @@ public class BulkGetCompletionListener extends CompletionListener future) + protected void processResult(final AgentSpan span, final BulkGetFuture future) throws ExecutionException, InterruptedException { /* Note: for now we do not have an affective way of representing results of bulk operations, diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java index 07d9d2c4be..96ad75af0c 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java @@ -1,10 +1,11 @@ package datadog.trace.instrumentation.spymemcached; +import static datadog.trace.instrumentation.api.AgentTracer.activateSpan; +import static datadog.trace.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.spymemcached.MemcacheClientDecorator.DECORATE; -import io.opentracing.Scope; -import io.opentracing.Span; -import io.opentracing.util.GlobalTracer; +import datadog.trace.instrumentation.api.AgentScope; +import datadog.trace.instrumentation.api.AgentSpan; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import lombok.extern.slf4j.Slf4j; @@ -25,12 +26,12 @@ public abstract class CompletionListener { static final String MISS = "miss"; private final MemcachedConnection connection; - private final Span span; + private final AgentSpan span; public CompletionListener(final MemcachedConnection connection, final String methodName) { this.connection = connection; - span = GlobalTracer.get().buildSpan(OPERATION_NAME).start(); - try (final Scope scope = GlobalTracer.get().scopeManager().activate(span, false)) { + span = startSpan(OPERATION_NAME); + try (final AgentScope scope = activateSpan(span, false)) { DECORATE.afterStart(span); DECORATE.onConnection(span, connection); DECORATE.onOperation(span, methodName); @@ -38,7 +39,7 @@ public abstract class CompletionListener { } protected void closeAsyncSpan(final T future) { - try (final Scope scope = GlobalTracer.get().scopeManager().activate(span, false)) { + try (final AgentScope scope = activateSpan(span, false)) { try { processResult(span, future); } catch (final CancellationException e) { @@ -66,17 +67,17 @@ public abstract class CompletionListener { } protected void closeSyncSpan(final Throwable thrown) { - try (final Scope scope = GlobalTracer.get().scopeManager().activate(span, false)) { + try (final AgentScope scope = activateSpan(span, false)) { DECORATE.onError(span, thrown); DECORATE.beforeFinish(span); span.finish(); } } - protected abstract void processResult(Span span, T future) + protected abstract void processResult(AgentSpan span, T future) throws ExecutionException, InterruptedException; - protected void setResultTag(final Span span, final boolean hit) { + protected void setResultTag(final AgentSpan span, final boolean hit) { span.setTag(MEMCACHED_RESULT, hit ? HIT : MISS); } } diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/GetCompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/GetCompletionListener.java index a05f846579..5081ba8478 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/GetCompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/GetCompletionListener.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.spymemcached; -import io.opentracing.Span; +import datadog.trace.instrumentation.api.AgentSpan; import java.util.concurrent.ExecutionException; import net.spy.memcached.MemcachedConnection; import net.spy.memcached.internal.GetFuture; @@ -17,7 +17,7 @@ public class GetCompletionListener extends CompletionListener> } @Override - protected void processResult(final Span span, final GetFuture future) + protected void processResult(final AgentSpan span, final GetFuture future) throws ExecutionException, InterruptedException { final Object result = future.get(); setResultTag(span, result != null); diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcacheClientDecorator.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcacheClientDecorator.java index cbb51e6784..14790e2498 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcacheClientDecorator.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcacheClientDecorator.java @@ -3,7 +3,7 @@ package datadog.trace.instrumentation.spymemcached; import datadog.trace.agent.decorator.DatabaseClientDecorator; import datadog.trace.api.DDSpanTypes; import datadog.trace.api.DDTags; -import io.opentracing.Span; +import datadog.trace.instrumentation.api.AgentSpan; import net.spy.memcached.MemcachedConnection; public class MemcacheClientDecorator extends DatabaseClientDecorator { @@ -44,7 +44,7 @@ public class MemcacheClientDecorator extends DatabaseClientDecorator future) + protected void processResult(final AgentSpan span, final OperationFuture future) throws ExecutionException, InterruptedException { future.get(); } diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java index 85b3a948e9..69665451a1 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java @@ -1,6 +1,6 @@ package datadog.trace.instrumentation.spymemcached; -import io.opentracing.Span; +import datadog.trace.instrumentation.api.AgentSpan; import java.util.concurrent.ExecutionException; import lombok.extern.slf4j.Slf4j; import net.spy.memcached.MemcachedConnection; @@ -12,7 +12,7 @@ public class SyncCompletionListener extends CompletionListener { } @Override - protected void processResult(final Span span, final Void future) + protected void processResult(final AgentSpan span, final Void future) throws ExecutionException, InterruptedException { log.error("processResult was called on SyncCompletionListener. This should never happen. "); }