Skip to content

Commit 87838e0

Browse files
authored
Centralize HTTP response customizer suppression (#17617)
1 parent aea42dd commit 87838e0

File tree

4 files changed

+15
-22
lines changed

4 files changed

+15
-22
lines changed

instrumentation/netty/netty-3.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/server/HttpServerResponseTracingHandler.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.opentelemetry.context.Scope;
1212
import io.opentelemetry.instrumentation.api.util.VirtualField;
1313
import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder;
14-
import io.opentelemetry.javaagent.bootstrap.ExceptionLogger;
1514
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseCustomizerHolder;
1615
import io.opentelemetry.javaagent.instrumentation.netty.v3_8.NettyRequest;
1716
import org.jboss.netty.channel.Channel;
@@ -49,11 +48,7 @@ public void writeRequested(ChannelHandlerContext ctx, MessageEvent msg) throws E
4948
}
5049

5150
private static void customizeResponse(Context context, HttpResponse response) {
52-
try {
53-
HttpServerResponseCustomizerHolder.getCustomizer()
54-
.customize(context, response, NettyHttpResponseMutator.INSTANCE);
55-
} catch (Throwable t) {
56-
ExceptionLogger.logSuppressedError("Failed to customize Netty 3.8 HTTP server response", t);
57-
}
51+
HttpServerResponseCustomizerHolder.getCustomizer()
52+
.customize(context, response, NettyHttpResponseMutator.INSTANCE);
5853
}
5954
}

instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerResponseTracingHandler.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import io.opentelemetry.context.Scope;
1818
import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder;
1919
import io.opentelemetry.instrumentation.netty.common.v4_0.internal.NettyCommonRequest;
20-
import io.opentelemetry.javaagent.bootstrap.ExceptionLogger;
2120
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseCustomizerHolder;
2221
import io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys;
2322
import javax.annotation.Nullable;
@@ -52,11 +51,7 @@ private static void end(Channel channel, HttpResponse response, @Nullable Throwa
5251
}
5352

5453
private static void customizeResponse(Context context, HttpResponse response) {
55-
try {
56-
HttpServerResponseCustomizerHolder.getCustomizer()
57-
.customize(context, response, NettyHttpResponseMutator.INSTANCE);
58-
} catch (Throwable t) {
59-
ExceptionLogger.logSuppressedError("Failed to customize Netty 4.0 HTTP server response", t);
60-
}
54+
HttpServerResponseCustomizerHolder.getCustomizer()
55+
.customize(context, response, NettyHttpResponseMutator.INSTANCE);
6156
}
6257
}

instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyHttpServerResponseBeforeCommitHandler.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import io.netty.handler.codec.http.HttpResponse;
99
import io.opentelemetry.context.Context;
1010
import io.opentelemetry.instrumentation.netty.v4_1.internal.server.HttpServerResponseBeforeCommitHandler;
11-
import io.opentelemetry.javaagent.bootstrap.ExceptionLogger;
1211
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseCustomizerHolder;
1312

1413
public enum NettyHttpServerResponseBeforeCommitHandler
@@ -17,11 +16,7 @@ public enum NettyHttpServerResponseBeforeCommitHandler
1716

1817
@Override
1918
public void handle(Context context, HttpResponse response) {
20-
try {
21-
HttpServerResponseCustomizerHolder.getCustomizer()
22-
.customize(context, response, new NettyHttpServerResponseMutator());
23-
} catch (Throwable t) {
24-
ExceptionLogger.logSuppressedError("Failed to customize Netty 4.1 HTTP server response", t);
25-
}
19+
HttpServerResponseCustomizerHolder.getCustomizer()
20+
.customize(context, response, new NettyHttpServerResponseMutator());
2621
}
2722
}

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.opentelemetry.javaagent.bootstrap.AgentClassLoader;
2323
import io.opentelemetry.javaagent.bootstrap.BootstrapPackagePrefixesHolder;
2424
import io.opentelemetry.javaagent.bootstrap.DefineClassHelper;
25+
import io.opentelemetry.javaagent.bootstrap.ExceptionLogger;
2526
import io.opentelemetry.javaagent.bootstrap.InstrumentedTaskClasses;
2627
import io.opentelemetry.javaagent.bootstrap.LambdaTransformer;
2728
import io.opentelemetry.javaagent.bootstrap.LambdaTransformerHolder;
@@ -313,7 +314,14 @@ public <T> void customize(
313314
Context serverContext, T response, HttpServerResponseMutator<T> responseMutator) {
314315

315316
for (HttpServerResponseCustomizer modifier : customizers) {
316-
modifier.customize(serverContext, response, responseMutator);
317+
try {
318+
modifier.customize(serverContext, response, responseMutator);
319+
} catch (Throwable t) {
320+
ExceptionLogger.logSuppressedError(
321+
"Failed to customize HTTP server response with "
322+
+ modifier.getClass().getName(),
323+
t);
324+
}
317325
}
318326
}
319327
});

0 commit comments

Comments
 (0)