Skip to content

Commit c2d057e

Browse files
authored
Use static INSTANCE singleton for stateless HttpServerResponseMutators (#18326)
1 parent 2a4fb49 commit c2d057e

8 files changed

Lines changed: 14 additions & 10 deletions

File tree

instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/GrizzlyHttpResponseMutator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
import org.glassfish.grizzly.http.util.DataChunk;
1111
import org.glassfish.grizzly.http.util.MimeHeaders;
1212

13-
public class GrizzlyHttpResponseMutator implements HttpServerResponseMutator<HttpResponsePacket> {
13+
public enum GrizzlyHttpResponseMutator implements HttpServerResponseMutator<HttpResponsePacket> {
14+
INSTANCE;
1415

1516
@Override
1617
public void appendHeader(HttpResponsePacket response, String name, String value) {

instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/HttpServerFilterInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static void onEnter(
5050
@Advice.Argument(2) HttpResponsePacket response) {
5151
Context context = GrizzlyStateStorage.getContext(ctx);
5252
HttpServerResponseCustomizerHolder.getCustomizer()
53-
.customize(context, response, new GrizzlyHttpResponseMutator());
53+
.customize(context, response, GrizzlyHttpResponseMutator.INSTANCE);
5454
}
5555

5656
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class, inline = false)

instrumentation/jetty/jetty-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12ResponseMutator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseMutator;
99
import org.eclipse.jetty.server.Response;
1010

11-
class Jetty12ResponseMutator implements HttpServerResponseMutator<Response> {
11+
enum Jetty12ResponseMutator implements HttpServerResponseMutator<Response> {
12+
INSTANCE;
1213

1314
@Override
1415
public void appendHeader(Response response, String name, String value) {

instrumentation/jetty/jetty-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12ServerInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public static AdviceScope start(Request request, Response response) {
6161
Context context = helper().start(parentContext, request, response);
6262
Scope scope = context.makeCurrent();
6363
HttpServerResponseCustomizerHolder.getCustomizer()
64-
.customize(context, response, new Jetty12ResponseMutator());
64+
.customize(context, response, Jetty12ResponseMutator.INSTANCE);
6565
return new AdviceScope(context, scope);
6666
}
6767

instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8InstrumentationModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public static AdviceScope start(HttpServletRequest request, HttpServletResponse
7878
// Must be set here since Jetty handlers can use startAsync outside of servlet scope.
7979
helper().setAsyncListenerResponse(context, response);
8080
HttpServerResponseCustomizerHolder.getCustomizer()
81-
.customize(context, response, new Jetty8ResponseMutator());
81+
.customize(context, response, Jetty8ResponseMutator.INSTANCE);
8282
return new AdviceScope(requestContext, context, scope);
8383
}
8484

instrumentation/jetty/jetty-8.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/Jetty8ResponseMutator.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseMutator;
99
import javax.servlet.http.HttpServletResponse;
1010

11-
final class Jetty8ResponseMutator implements HttpServerResponseMutator<HttpServletResponse> {
11+
enum Jetty8ResponseMutator implements HttpServerResponseMutator<HttpServletResponse> {
12+
INSTANCE;
13+
1214
@Override
1315
public void appendHeader(HttpServletResponse response, String name, String value) {
1416
response.addHeader(name, value);

instrumentation/liberty/liberty-20.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/v20_0/LibertyWebAppInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ public static void onEnter() {
129129
helper().setAsyncListenerResponse(context, requestInfo.getResponse());
130130

131131
HttpServerResponseCustomizerHolder.getCustomizer()
132-
.customize(context, requestInfo.getResponse(), new Servlet3HttpServerResponseMutator());
132+
.customize(
133+
context, requestInfo.getResponse(), Servlet3HttpServerResponseMutator.INSTANCE);
133134
}
134135
}
135136
}

instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3HttpServerResponseMutator.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
import io.opentelemetry.javaagent.bootstrap.http.HttpServerResponseMutator;
99
import javax.servlet.http.HttpServletResponse;
1010

11-
public class Servlet3HttpServerResponseMutator
11+
public enum Servlet3HttpServerResponseMutator
1212
implements HttpServerResponseMutator<HttpServletResponse> {
13-
public static final Servlet3HttpServerResponseMutator INSTANCE =
14-
new Servlet3HttpServerResponseMutator();
13+
INSTANCE;
1514

1615
@Override
1716
public void appendHeader(HttpServletResponse response, String name, String value) {

0 commit comments

Comments
 (0)