Skip to content

Commit fb60349

Browse files
committed
updateing grizzly instrumentations
1 parent 9ca24d6 commit fb60349

File tree

2 files changed

+16
-18
lines changed

2 files changed

+16
-18
lines changed

dd-java-agent/instrumentation/grizzly-2/src/main/java/datadog/trace/instrumentation/grizzly/GrizzlyHttpHandlerInstrumentation.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
package datadog.trace.instrumentation.grizzly;
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
4-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
54
import static datadog.trace.bootstrap.instrumentation.decorator.HttpServerDecorator.DD_SPAN_ATTRIBUTE;
65
import static datadog.trace.instrumentation.grizzly.GrizzlyDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
98

109
import com.google.auto.service.AutoService;
10+
import datadog.context.Context;
11+
import datadog.context.ContextScope;
1112
import datadog.trace.agent.tooling.Instrumenter;
1213
import datadog.trace.agent.tooling.InstrumenterModule;
1314
import datadog.trace.api.CorrelationIdentifier;
1415
import datadog.trace.api.GlobalTracer;
1516
import datadog.trace.api.gateway.Flow;
16-
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1717
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
18-
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
1918
import net.bytebuddy.asm.Advice;
2019
import org.glassfish.grizzly.http.server.Request;
2120
import org.glassfish.grizzly.http.server.Response;
@@ -66,19 +65,19 @@ public static class HandleAdvice {
6665

6766
@Advice.OnMethodEnter(suppress = Throwable.class, skipOn = Advice.OnNonDefaultValue.class)
6867
public static boolean /* skip body */ methodEnter(
69-
@Advice.Local("agentScope") AgentScope scope,
68+
@Advice.Local("contextScope") ContextScope scope,
7069
@Advice.Argument(0) final Request request,
7170
@Advice.Argument(1) final Response response) {
7271
if (request.getAttribute(DD_SPAN_ATTRIBUTE) != null) {
7372
return false;
7473
}
7574

76-
final AgentSpanContext.Extracted parentContext = DECORATE.extract(request);
77-
final AgentSpan span = DECORATE.startSpan(request, parentContext);
75+
final Context context = DECORATE.extractContext(request);
76+
final AgentSpan span = DECORATE.startSpan(request, DECORATE.getExtractedSpanContext(context));
7877
DECORATE.afterStart(span);
79-
DECORATE.onRequest(span, request, request, parentContext);
78+
DECORATE.onRequest(span, request, request, DECORATE.getExtractedSpanContext(context));
8079

81-
scope = activateSpan(span);
80+
scope = DECORATE.activateScope(context, span);
8281

8382
request.setAttribute(DD_SPAN_ATTRIBUTE, span);
8483
request.setAttribute(CorrelationIdentifier.getTraceIdKey(), GlobalTracer.get().getTraceId());
@@ -101,14 +100,15 @@ public static class HandleAdvice {
101100
public static void methodExit(
102101
@Advice.Enter boolean skippedBody,
103102
@Advice.Return(readOnly = false) boolean retVal,
104-
@Advice.Local("agentScope") AgentScope scope,
103+
@Advice.Local("contextScope") ContextScope scope,
105104
@Advice.Thrown final Throwable throwable) {
106105
if (scope == null) {
107106
return;
108107
}
109108

110109
if (throwable != null) {
111-
final AgentSpan span = scope.span();
110+
final Context context = scope.context();
111+
final AgentSpan span = AgentSpan.fromContext(context);
112112
DECORATE.onError(span, throwable);
113113
DECORATE.beforeFinish(span);
114114
span.finish();

dd-java-agent/instrumentation/grizzly-http-2.3.20/src/main/java/datadog/trace/instrumentation/grizzlyhttp232/GrizzlyDecorator.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package datadog.trace.instrumentation.grizzlyhttp232;
22

3-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
4-
53
import datadog.appsec.api.blocking.BlockingContentType;
4+
import datadog.context.Context;
5+
import datadog.context.ContextScope;
66
import datadog.trace.api.gateway.BlockResponseFunction;
77
import datadog.trace.api.gateway.Flow;
88
import datadog.trace.api.gateway.RequestContext;
99
import datadog.trace.api.internal.TraceSegment;
1010
import datadog.trace.bootstrap.ActiveSubsystems;
1111
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
12-
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1312
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
14-
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
1513
import datadog.trace.bootstrap.instrumentation.api.URIDataAdapter;
1614
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1715
import datadog.trace.bootstrap.instrumentation.decorator.HttpServerDecorator;
@@ -114,13 +112,13 @@ public static NextAction onHttpCodecFilterExit(
114112
}
115113
HttpRequestPacket httpRequest = (HttpRequestPacket) httpHeader;
116114
HttpResponsePacket httpResponse = httpRequest.getResponse();
117-
AgentSpanContext.Extracted context = DECORATE.extract(httpRequest);
118-
AgentSpan span = DECORATE.startSpan(httpRequest, context);
119-
AgentScope scope = activateSpan(span);
115+
Context context = DECORATE.extractContext(httpRequest);
116+
AgentSpan span = DECORATE.startSpan(httpRequest, DECORATE.getExtractedSpanContext(context));
117+
ContextScope scope = DECORATE.activateScope(context, span);
120118
DECORATE.afterStart(span);
121119
ctx.getAttributes().setAttribute(DD_SPAN_ATTRIBUTE, span);
122120
ctx.getAttributes().setAttribute(DD_RESPONSE_ATTRIBUTE, httpResponse);
123-
DECORATE.onRequest(span, httpRequest, httpRequest, context);
121+
DECORATE.onRequest(span, httpRequest, httpRequest, DECORATE.getExtractedSpanContext(context));
124122

125123
Flow.Action.RequestBlockingAction rba = span.getRequestBlockingAction();
126124
if (rba != null && thiz instanceof HttpServerFilter) {

0 commit comments

Comments
 (0)