Skip to content

Commit 1b7234d

Browse files
committed
adding wrapper to avoid bytebuddy issues
1 parent d58e8d7 commit 1b7234d

2 files changed

Lines changed: 26 additions & 22 deletions

File tree

dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@
4545
public final class JMSMessageConsumerInstrumentation
4646
implements Instrumenter.ForTypeHierarchy, Instrumenter.HasMethodAdvice {
4747
private final String namespace;
48-
private static final Logger log =
49-
LoggerFactory.getLogger(JMSMessageConsumerInstrumentation.class);
5048

5149
public JMSMessageConsumerInstrumentation(String namespace) {
5250
this.namespace = namespace;
@@ -168,7 +166,7 @@ public static void afterReceive(
168166
CONSUMER_DECORATE.onError(span, throwable);
169167

170168
activateNext(span); // scope is left open until next message or it times out
171-
log.debug("Expecting the following `ITERATION` span to be finished {}", span);
169+
JMSLogger.logIterationSpan(span);
172170

173171
SessionState sessionState = consumerState.getSessionState();
174172
if (sessionState.isClientAcknowledge()) {
@@ -218,4 +216,12 @@ public static void setMessageListener(
218216
}
219217
}
220218
}
219+
220+
public static class JMSLogger {
221+
private static final Logger log = LoggerFactory.getLogger(JMSLogger.class);
222+
223+
public static void logIterationSpan(AgentSpan span) {
224+
log.debug("Expecting the following `ITERATION` span to be finished {}", span);
225+
}
226+
}
221227
}

dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ContinuableScopeManager.java

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package datadog.trace.core.scopemanager;
22

33
import static datadog.trace.api.ConfigDefaults.DEFAULT_ASYNC_PROPAGATING;
4-
import static datadog.trace.api.telemetry.LogCollector.SEND_TELEMETRY;
54
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopScope;
65
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.noopSpan;
76
import static datadog.trace.core.scopemanager.ContinuableScope.CONTEXT;
@@ -239,25 +238,24 @@ public void closePrevious(final boolean finishSpan) {
239238

240239
// close any immediately previous iteration scope
241240
final ContinuableScope top = scopeStack.top;
242-
if (top != null) {
243-
if (top.source() == ITERATION) {
244-
if (iterationKeepAlive > 0) { // skip depth check because cancelling is cheap
245-
cancelRootIterationScopeCleanup(scopeStack, top);
246-
}
247-
top.close();
248-
scopeStack.cleanup();
249-
AgentSpan span = top.span();
250-
if (finishSpan && span != null) {
251-
span.finishWithEndToEnd();
252-
}
253-
} else {
254-
log.debug(
255-
SEND_TELEMETRY,
256-
"Scope found at top of stack has source {} when we expect {}. Current span at the top of the stack {}.",
257-
top,
258-
ITERATION,
259-
top.span());
241+
if (top != null && top.source() == ITERATION) {
242+
if (iterationKeepAlive > 0) { // skip depth check because cancelling is cheap
243+
cancelRootIterationScopeCleanup(scopeStack, top);
244+
}
245+
top.close();
246+
scopeStack.cleanup();
247+
AgentSpan span = top.span();
248+
if (finishSpan && span != null) {
249+
span.finishWithEndToEnd();
260250
}
251+
} else if (top != null) {
252+
// log.debug(
253+
// SEND_TELEMETRY,
254+
// "Scope found at top of stack has source {} when we expect {}. Current span at the top
255+
// of the stack {}.",
256+
// top,
257+
// ITERATION,
258+
// top.span());
261259
}
262260
}
263261

0 commit comments

Comments
 (0)