Misc cleanup/minor changes
This commit is contained in:
parent
21e26d9463
commit
63d308e50d
|
@ -48,6 +48,7 @@ public final class AWSClientInstrumentation extends Instrumenter.Configurable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class AWSClientAdvice {
|
public static class AWSClientAdvice {
|
||||||
|
// Since we're instrumenting the constructor, we can't add onThrowable.
|
||||||
@Advice.OnMethodExit(suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void addHandler(
|
public static void addHandler(
|
||||||
@Advice.FieldValue("requestHandler2s") final List<RequestHandler2> handlers) {
|
@Advice.FieldValue("requestHandler2s") final List<RequestHandler2> handlers) {
|
||||||
|
|
|
@ -61,8 +61,7 @@ public final class FutureInstrumentation extends Instrumenter.Configurable {
|
||||||
"com.google.common.util.concurrent.AbstractFuture$TrustedFuture",
|
"com.google.common.util.concurrent.AbstractFuture$TrustedFuture",
|
||||||
"com.google.common.util.concurrent.AbstractFuture"
|
"com.google.common.util.concurrent.AbstractFuture"
|
||||||
};
|
};
|
||||||
WHITELISTED_FUTURES =
|
WHITELISTED_FUTURES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(whitelist)));
|
||||||
Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(whitelist)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public FutureInstrumentation() {
|
public FutureInstrumentation() {
|
||||||
|
@ -81,7 +80,7 @@ public final class FutureInstrumentation extends Instrumenter.Configurable {
|
||||||
.and(
|
.and(
|
||||||
new ElementMatcher<TypeDescription>() {
|
new ElementMatcher<TypeDescription>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean matches(TypeDescription target) {
|
public boolean matches(final TypeDescription target) {
|
||||||
final boolean whitelisted = WHITELISTED_FUTURES.contains(target.getName());
|
final boolean whitelisted = WHITELISTED_FUTURES.contains(target.getName());
|
||||||
if (!whitelisted) {
|
if (!whitelisted) {
|
||||||
log.debug("Skipping future instrumentation for {}", target.getName());
|
log.debug("Skipping future instrumentation for {}", target.getName());
|
||||||
|
@ -101,13 +100,13 @@ public final class FutureInstrumentation extends Instrumenter.Configurable {
|
||||||
|
|
||||||
public static class CanceledFutureAdvice {
|
public static class CanceledFutureAdvice {
|
||||||
@Advice.OnMethodEnter(suppress = Throwable.class)
|
@Advice.OnMethodEnter(suppress = Throwable.class)
|
||||||
public static DatadogWrapper findWrapper(@Advice.This Future<?> future) {
|
public static DatadogWrapper findWrapper(@Advice.This final Future<?> future) {
|
||||||
return ConcurrentUtils.getDatadogWrapper(future);
|
return ConcurrentUtils.getDatadogWrapper(future);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Advice.OnMethodExit(suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void abortTracing(
|
public static void abortTracing(
|
||||||
@Advice.Enter final DatadogWrapper wrapper, @Advice.Return boolean canceled) {
|
@Advice.Enter final DatadogWrapper wrapper, @Advice.Return final boolean canceled) {
|
||||||
if (canceled && null != wrapper) {
|
if (canceled && null != wrapper) {
|
||||||
wrapper.cancel();
|
wrapper.cancel();
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ public final class ConnectionInstrumentation extends Instrumenter.Configurable {
|
||||||
return CallDepthThreadLocalMap.get(Connection.class).incrementCallDepth();
|
return CallDepthThreadLocalMap.get(Connection.class).incrementCallDepth();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Since we're instrumenting the constructor, we can't add onThrowable.
|
||||||
@Advice.OnMethodExit(suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void constructorExit(
|
public static void constructorExit(
|
||||||
@Advice.Enter final int depth, @Advice.This final Connection connection)
|
@Advice.Enter final int depth, @Advice.This final Connection connection)
|
||||||
|
|
|
@ -71,7 +71,9 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl
|
||||||
|
|
||||||
@Advice.OnMethodExit(suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void wrap(@Advice.Return(readOnly = false) Iterable<ConsumerRecord> iterable) {
|
public static void wrap(@Advice.Return(readOnly = false) Iterable<ConsumerRecord> iterable) {
|
||||||
iterable = new TracingIterable(iterable, "kafka.consume", ConsumeScopeAction.INSTANCE);
|
if (iterable != null) {
|
||||||
|
iterable = new TracingIterable(iterable, "kafka.consume", ConsumeScopeAction.INSTANCE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,9 +81,11 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Configurabl
|
||||||
|
|
||||||
@Advice.OnMethodExit(suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void wrap(@Advice.Return(readOnly = false) Iterator<ConsumerRecord> iterator) {
|
public static void wrap(@Advice.Return(readOnly = false) Iterator<ConsumerRecord> iterator) {
|
||||||
iterator =
|
if (iterator != null) {
|
||||||
new TracingIterable.TracingIterator(
|
iterator =
|
||||||
iterator, "kafka.consume", ConsumeScopeAction.INSTANCE);
|
new TracingIterable.TracingIterator(
|
||||||
|
iterator, "kafka.consume", ConsumeScopeAction.INSTANCE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -112,11 +112,11 @@ public class KafkaStreamsProcessorInstrumentation {
|
||||||
DDAdvice.create()
|
DDAdvice.create()
|
||||||
.advice(
|
.advice(
|
||||||
isMethod().and(isPublic()).and(named("process")).and(takesArguments(0)),
|
isMethod().and(isPublic()).and(named("process")).and(takesArguments(0)),
|
||||||
StartSpanAdvice.class.getName()))
|
StopSpanAdvice.class.getName()))
|
||||||
.asDecorator();
|
.asDecorator();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class StartSpanAdvice {
|
public static class StopSpanAdvice {
|
||||||
|
|
||||||
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
|
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
|
||||||
public static void stopSpan(@Advice.Thrown final Throwable throwable) {
|
public static void stopSpan(@Advice.Thrown final Throwable throwable) {
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class RoutesInstrumentation extends Instrumenter.Configurable {
|
||||||
|
|
||||||
public static class RoutesAdvice {
|
public static class RoutesAdvice {
|
||||||
|
|
||||||
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
|
@Advice.OnMethodExit(suppress = Throwable.class)
|
||||||
public static void routeMatchEnricher(
|
public static void routeMatchEnricher(
|
||||||
@Advice.Argument(0) final HttpMethod method, @Advice.Return final RouteMatch routeMatch) {
|
@Advice.Argument(0) final HttpMethod method, @Advice.Return final RouteMatch routeMatch) {
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class IBMResourceLevelInstrumentation extends Instrumenter.Configurable {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected AgentBuilder apply(AgentBuilder agentBuilder) {
|
protected AgentBuilder apply(final AgentBuilder agentBuilder) {
|
||||||
return agentBuilder
|
return agentBuilder
|
||||||
.type(named("com.ibm.as400.resource.ResourceLevel"))
|
.type(named("com.ibm.as400.resource.ResourceLevel"))
|
||||||
.transform(DDTransformers.defaultTransformers())
|
.transform(DDTransformers.defaultTransformers())
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class ListWriter extends CopyOnWriteArrayList<List<DDSpan>> implements Wr
|
||||||
}
|
}
|
||||||
latches.add(latch);
|
latches.add(latch);
|
||||||
}
|
}
|
||||||
if (!latch.await(5, TimeUnit.SECONDS)) {
|
if (!latch.await(20, TimeUnit.SECONDS)) {
|
||||||
throw new TimeoutException("Timeout waiting for " + number + " trace(s).");
|
throw new TimeoutException("Timeout waiting for " + number + " trace(s).");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue