Skip to content

Commit 2f27295

Browse files
committed
inline advice scope start
1 parent 8cd2688 commit 2f27295

File tree

2 files changed

+36
-27
lines changed
  • instrumentation/vertx/vertx-http-client

2 files changed

+36
-27
lines changed

instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v3_0/client/HttpRequestInstrumentation.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,27 @@ public static class AdviceScope {
9191
private final Context context;
9292
private final Scope scope;
9393

94-
public AdviceScope(Context context, Scope scope) {
94+
private AdviceScope(Context context, Scope scope) {
9595
this.context = context;
9696
this.scope = scope;
9797
}
9898

99+
@Nullable
100+
public static AdviceScope startAndAttachContext(HttpClientRequest request) {
101+
VertxRequestInfo requestInfo = REQUEST_INFO.get(request);
102+
if (requestInfo == null) {
103+
return null;
104+
}
105+
106+
Context parentContext = Java8BytecodeBridge.currentContext();
107+
if (!instrumenter().shouldStart(parentContext, request)) {
108+
return null;
109+
}
110+
Context context = instrumenter().start(parentContext, request);
111+
CONTEXTS.set(request, new Contexts(parentContext, context));
112+
return new AdviceScope(context, context.makeCurrent());
113+
}
114+
99115
public void end(@Nullable Throwable throwable, HttpClientRequest request) {
100116
scope.close();
101117
if (throwable != null) {
@@ -107,18 +123,7 @@ public void end(@Nullable Throwable throwable, HttpClientRequest request) {
107123
@Nullable
108124
@Advice.OnMethodEnter(suppress = Throwable.class)
109125
public static AdviceScope attachContext(@Advice.This HttpClientRequest request) {
110-
VertxRequestInfo requestInfo = REQUEST_INFO.get(request);
111-
if (requestInfo == null) {
112-
return null;
113-
}
114-
115-
Context parentContext = Java8BytecodeBridge.currentContext();
116-
if (!instrumenter().shouldStart(parentContext, request)) {
117-
return null;
118-
}
119-
Context context = instrumenter().start(parentContext, request);
120-
CONTEXTS.set(request, new Contexts(parentContext, context));
121-
return new AdviceScope(context, context.makeCurrent());
126+
return AdviceScope.startAndAttachContext(request);
122127
}
123128

124129
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)

instrumentation/vertx/vertx-http-client/vertx-http-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/client/HttpRequestInstrumentation.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,28 @@ public void transform(TypeTransformer transformer) {
8989
public static class EndRequestAdvice {
9090

9191
public static class AdviceScope {
92-
public final Context context;
93-
public final Scope scope;
92+
private final Context context;
93+
private final Scope scope;
9494

95-
public AdviceScope(Context context, Scope scope) {
95+
private AdviceScope(Context context, Scope scope) {
9696
this.context = context;
9797
this.scope = scope;
9898
}
9999

100+
@Nullable
101+
public static AdviceScope startAndAttachContext(HttpClientRequest request) {
102+
Context parentContext = Java8BytecodeBridge.currentContext();
103+
if (!instrumenter().shouldStart(parentContext, request)) {
104+
return null;
105+
}
106+
107+
Context context = instrumenter().start(parentContext, request);
108+
Contexts contexts = new Contexts(parentContext, context);
109+
CONTEXTS.set(request, contexts);
110+
111+
return new AdviceScope(context, context.makeCurrent());
112+
}
113+
100114
public void end(HttpClientRequest request, Throwable throwable) {
101115
scope.close();
102116
if (throwable != null) {
@@ -108,17 +122,7 @@ public void end(HttpClientRequest request, Throwable throwable) {
108122
@Nullable
109123
@Advice.OnMethodEnter(suppress = Throwable.class)
110124
public static AdviceScope attachContext(@Advice.This HttpClientRequest request) {
111-
112-
Context parentContext = Java8BytecodeBridge.currentContext();
113-
if (!instrumenter().shouldStart(parentContext, request)) {
114-
return null;
115-
}
116-
117-
Context context = instrumenter().start(parentContext, request);
118-
Contexts contexts = new Contexts(parentContext, context);
119-
CONTEXTS.set(request, contexts);
120-
121-
return new AdviceScope(context, context.makeCurrent());
125+
return AdviceScope.startAndAttachContext(request);
122126
}
123127

124128
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)

0 commit comments

Comments
 (0)