Skip to content

Commit 75e35e6

Browse files
authored
Remove core OTEL helper classes from injection (#110)
Signed-off-by: Pavol Loffay <[email protected]>
1 parent 7134b16 commit 75e35e6

File tree

13 files changed

+29
-57
lines changed

13 files changed

+29
-57
lines changed

instrumentation/grpc-1.5/src/main/java/io/opentelemetry/instrumentation/hypertrace/grpc/v1_5/client/GrpcClientBodyInstrumentation.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,6 @@ public int getOrder() {
4747
@Override
4848
public String[] helperClassNames() {
4949
return new String[] {
50-
"io.opentelemetry.instrumentation.grpc.v1_5.common.GrpcHelper",
51-
"io.opentelemetry.instrumentation.grpc.v1_5.client.GrpcClientTracer",
52-
"io.opentelemetry.instrumentation.grpc.v1_5.client.GrpcInjectAdapter",
53-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor",
54-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor$TracingClientCall",
55-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor$TracingClientCallListener",
56-
"io.opentelemetry.instrumentation.grpc.v1_5.server.GrpcExtractAdapter",
57-
"io.opentelemetry.instrumentation.grpc.v1_5.server.GrpcServerTracer",
58-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor",
59-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor$TracingServerCall",
60-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor$TracingServerCallListener",
6150
"io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcTracer",
6251
"io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcSpanDecorator",
6352
"io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.InstrumentationName",

instrumentation/grpc-1.5/src/main/java/io/opentelemetry/instrumentation/hypertrace/grpc/v1_5/client/GrpcClientInterceptor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,17 @@
2525
import io.grpc.ForwardingClientCallListener;
2626
import io.grpc.Metadata;
2727
import io.grpc.MethodDescriptor;
28+
import io.opentelemetry.OpenTelemetry;
2829
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcSpanDecorator;
29-
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcTracer;
3030
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.InstrumentationName;
3131
import io.opentelemetry.trace.Span;
32+
import io.opentelemetry.trace.Tracer;
3233
import org.hypertrace.agent.core.HypertraceConfig;
3334
import org.hypertrace.agent.core.HypertraceSemanticAttributes;
3435

3536
public class GrpcClientInterceptor implements ClientInterceptor {
3637

37-
private static final GrpcTracer TRACER = new GrpcTracer();
38+
private static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.grpc");
3839

3940
@Override
4041
public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(

instrumentation/grpc-1.5/src/main/java/io/opentelemetry/instrumentation/hypertrace/grpc/v1_5/server/GrpcServerBodyInstrumentation.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,6 @@ public int getOrder() {
4545
@Override
4646
public String[] helperClassNames() {
4747
return new String[] {
48-
"io.opentelemetry.instrumentation.grpc.v1_5.common.GrpcHelper",
49-
"io.opentelemetry.instrumentation.grpc.v1_5.client.GrpcClientTracer",
50-
"io.opentelemetry.instrumentation.grpc.v1_5.client.GrpcInjectAdapter",
51-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor",
52-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor$TracingClientCall",
53-
"io.opentelemetry.instrumentation.grpc.v1_5.client.TracingClientInterceptor$TracingClientCallListener",
54-
"io.opentelemetry.instrumentation.grpc.v1_5.server.GrpcExtractAdapter",
55-
"io.opentelemetry.instrumentation.grpc.v1_5.server.GrpcServerTracer",
56-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor",
57-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor$TracingServerCall",
58-
"io.opentelemetry.instrumentation.grpc.v1_5.server.TracingServerInterceptor$TracingServerCallListener",
5948
"org.hypertrace.agent.filter.FilterProvider",
6049
"org.hypertrace.agent.filter.FilterEvaluator",
6150
"org.hypertrace.agent.filter.FilterResult",

instrumentation/grpc-1.5/src/main/java/io/opentelemetry/instrumentation/hypertrace/grpc/v1_5/server/GrpcServerInterceptor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@
2424
import io.grpc.ServerCallHandler;
2525
import io.grpc.ServerInterceptor;
2626
import io.grpc.Status;
27+
import io.opentelemetry.OpenTelemetry;
2728
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcSpanDecorator;
28-
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.GrpcTracer;
2929
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.InstrumentationName;
3030
import io.opentelemetry.instrumentation.hypertrace.grpc.v1_5.server.GrpcServerInterceptor.TracingServerCall.TracingServerCallListener;
3131
import io.opentelemetry.trace.Span;
32+
import io.opentelemetry.trace.Tracer;
3233
import java.util.Map;
3334
import org.hypertrace.agent.core.HypertraceConfig;
3435
import org.hypertrace.agent.core.HypertraceSemanticAttributes;
@@ -37,7 +38,7 @@
3738

3839
public class GrpcServerInterceptor implements ServerInterceptor {
3940

40-
private static final GrpcTracer TRACER = new GrpcTracer();
41+
private static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.grpc");
4142

4243
@Override
4344
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(

instrumentation/okhttp/okhttp-3.0/src/main/java/io/opentelemetry/instrumentation/hypertrace/okhttp/v3_0/OkHttpTracingInterceptor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.okhttp.v3_0;
1818

19+
import io.opentelemetry.OpenTelemetry;
1920
import io.opentelemetry.common.AttributeKey;
20-
import io.opentelemetry.javaagent.instrumentation.okhttp.v3_0.OkHttpClientTracer;
2121
import io.opentelemetry.trace.Span;
22+
import io.opentelemetry.trace.Tracer;
2223
import java.io.IOException;
2324
import java.util.function.Function;
2425
import okhttp3.Headers;
@@ -38,7 +39,7 @@
3839
public class OkHttpTracingInterceptor implements Interceptor {
3940
private static final Logger log = LoggerFactory.getLogger(OkHttpTracingInterceptor.class);
4041

41-
private static final OkHttpClientTracer TRACER = OkHttpClientTracer.TRACER;
42+
private static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.okhttp");
4243

4344
@Override
4445
public Response intercept(Chain chain) throws IOException {

instrumentation/servlet/servlet-2.3/src/main/java/io/opentelemetry/instrumentation/hypertrace/servlet/v2_3/InstrumentationName.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.servlet.v2_3;
1818

19+
import io.opentelemetry.OpenTelemetry;
20+
import io.opentelemetry.trace.Tracer;
21+
1922
public class InstrumentationName {
2023
public static final String[] INSTRUMENTATION_NAME = {"servlet", "servlet-2"};
24+
public static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.servlet");
2125
}

instrumentation/servlet/servlet-2.3/src/main/java/io/opentelemetry/instrumentation/hypertrace/servlet/v2_3/Servlet2BodyInstrumentation.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.servlet.v2_3;
1818

19-
import static io.opentelemetry.javaagent.instrumentation.servlet.v2_2.Servlet2HttpServerTracer.TRACER;
2019
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2120
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.safeHasSuperType;
2221
import static io.opentelemetry.javaagent.tooling.matcher.NameMatchers.namedOneOf;
@@ -87,10 +86,6 @@ public Map<String, String> contextStore() {
8786
@Override
8887
public String[] helperClassNames() {
8988
return new String[] {
90-
"io.opentelemetry.instrumentation.servlet.HttpServletRequestGetter",
91-
"io.opentelemetry.instrumentation.servlet.ServletHttpServerTracer",
92-
"io.opentelemetry.javaagent.instrumentation.servlet.v2_2.Servlet2HttpServerTracer",
93-
"io.opentelemetry.javaagent.instrumentation.servlet.v2_2.ResponseWithStatus",
9489
"org.hypertrace.agent.filter.FilterProvider",
9590
"org.hypertrace.agent.filter.FilterEvaluator",
9691
"org.hypertrace.agent.filter.FilterResult",
@@ -148,7 +143,7 @@ public static Object start(
148143

149144
HttpServletRequest httpRequest = (HttpServletRequest) request;
150145
HttpServletResponse httpResponse = (HttpServletResponse) response;
151-
Span currentSpan = TRACER.getCurrentSpan();
146+
Span currentSpan = InstrumentationName.TRACER.getCurrentSpan();
152147

153148
rootStart = true;
154149
response = new BufferingHttpServletResponse(httpResponse);
@@ -191,7 +186,7 @@ public static void stopSpan(
191186
}
192187

193188
request.removeAttribute(ALREADY_LOADED);
194-
Span currentSpan = TRACER.getCurrentSpan();
189+
Span currentSpan = InstrumentationName.TRACER.getCurrentSpan();
195190

196191
BufferingHttpServletResponse bufferingResponse = (BufferingHttpServletResponse) response;
197192
BufferingHttpServletRequest bufferingRequest = (BufferingHttpServletRequest) request;

instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/instrumentation/hypertrace/servlet/v3_0/InstrumentationName.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,14 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.servlet.v3_0;
1818

19+
import io.opentelemetry.OpenTelemetry;
20+
import io.opentelemetry.trace.Tracer;
21+
1922
/**
2023
* A helper class to hold instrumentation name. The advice class cannot access the constant defined
2124
* in the instrumenter class.
2225
*/
2326
public class InstrumentationName {
2427
public static final String[] INSTRUMENTATION_NAME = {"servlet", "servlet-3"};
28+
public static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.servlet");
2529
}

instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/instrumentation/hypertrace/servlet/v3_0/Servlet30BodyInstrumentation.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.servlet.v3_0;
1818

19-
import static io.opentelemetry.javaagent.instrumentation.servlet.v3_0.Servlet3HttpServerTracer.TRACER;
2019
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2120
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.safeHasSuperType;
2221
import static io.opentelemetry.javaagent.tooling.matcher.NameMatchers.namedOneOf;
@@ -47,10 +46,6 @@
4746
import org.hypertrace.agent.filter.FilterProvider;
4847
import org.hypertrace.agent.filter.FilterResult;
4948

50-
/**
51-
* TODO https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/1395 is resolved
52-
* move this to org.hypertrace package.
53-
*/
5449
@AutoService(Instrumenter.class)
5550
public class Servlet30BodyInstrumentation extends Instrumenter.Default {
5651

@@ -84,11 +79,6 @@ public ElementMatcher<? super TypeDescription> typeMatcher() {
8479
@Override
8580
public String[] helperClassNames() {
8681
return new String[] {
87-
"io.opentelemetry.instrumentation.servlet.HttpServletRequestGetter",
88-
"io.opentelemetry.instrumentation.servlet.ServletHttpServerTracer",
89-
"io.opentelemetry.javaagent.instrumentation.servlet.v3_0.Servlet3HttpServerTracer",
90-
// TODO Add these to bootstrap classloader so they don't have to referenced in every
91-
// instrumentation, see https://github.com/hypertrace/javaagent/issues/17
9282
"org.hypertrace.agent.filter.FilterProvider",
9383
"org.hypertrace.agent.filter.FilterEvaluator",
9484
"org.hypertrace.agent.filter.FilterResult",
@@ -122,6 +112,7 @@ public Map<? extends ElementMatcher<? super MethodDescription>, String> transfor
122112
public static class FilterAdvice {
123113
// request attribute key injected at first filerChain.doFilter
124114
private static final String ALREADY_LOADED = "__org.hypertrace.agent.on_start_executed";
115+
private static final String TRACER_NAME = "org.hypertrace.agent.servlet";
125116

126117
@Advice.OnMethodEnter(suppress = Throwable.class, skipOn = FilterResult.class)
127118
public static Object start(
@@ -147,7 +138,7 @@ public static Object start(
147138

148139
HttpServletRequest httpRequest = (HttpServletRequest) request;
149140
HttpServletResponse httpResponse = (HttpServletResponse) response;
150-
Span currentSpan = TRACER.getCurrentSpan();
141+
Span currentSpan = InstrumentationName.TRACER.getCurrentSpan();
151142

152143
rootStart = true;
153144
response = new BufferingHttpServletResponse(httpResponse);
@@ -188,7 +179,7 @@ public static void stopSpan(
188179
}
189180

190181
request.removeAttribute(ALREADY_LOADED);
191-
Span currentSpan = TRACER.getCurrentSpan();
182+
Span currentSpan = InstrumentationName.TRACER.getCurrentSpan();
192183

193184
AtomicBoolean responseHandled = new AtomicBoolean(false);
194185
if (request.isAsyncStarted()) {

instrumentation/servlet/servlet-3.1/src/main/java/io/opentelemetry/instrumentation/hypertrace/servlet/v3_1/InstrumentationName.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,14 @@
1616

1717
package io.opentelemetry.instrumentation.hypertrace.servlet.v3_1;
1818

19+
import io.opentelemetry.OpenTelemetry;
20+
import io.opentelemetry.trace.Tracer;
21+
1922
/**
2023
* A helper class to hold instrumentation name. The advice class cannot access the constant defined
2124
* in the instrumenter class.
2225
*/
2326
public class InstrumentationName {
2427
public static final String[] INSTRUMENTATION_NAME = {"servlet", "servlet-3"};
28+
public static final Tracer TRACER = OpenTelemetry.getTracer("org.hypertrace.agent.servlet");
2529
}

0 commit comments

Comments
 (0)