Skip to content

Commit 2a219d7

Browse files
committed
Encapsulate shared static helpers
1 parent ef390de commit 2a219d7

12 files changed

Lines changed: 41 additions & 14 deletions

File tree

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/AwsHttpClientInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ public static void methodExit(
5353
@Advice.Return Response<?> response,
5454
@Advice.Thrown Throwable throwable) {
5555
if (throwable instanceof Exception) {
56-
TracingRequestHandler.tracingHandler.afterError(request, response, (Exception) throwable);
56+
TracingRequestHandler.tracingHandler().afterError(
57+
request, response, (Exception) throwable);
5758
}
5859
Scope scope = request.getHandlerContext(TracingRequestHandler.SCOPE);
5960
if (scope != null) {

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/RequestExecutorInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public static void methodExit(
4646
@Advice.Return Response<?> response,
4747
@Advice.Thrown Throwable throwable) {
4848
if (throwable instanceof Exception) {
49-
TracingRequestHandler.tracingHandler.afterError(request, response, (Exception) throwable);
49+
TracingRequestHandler.tracingHandler().afterError(
50+
request, response, (Exception) throwable);
5051
}
5152
Scope scope = request.getHandlerContext(TracingRequestHandler.SCOPE);
5253
if (scope != null) {

instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/TracingRequestHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class TracingRequestHandler extends RequestHandler2 {
3333
public static final HandlerContextKey<Scope> SCOPE =
3434
new HandlerContextKey<>(Scope.class.getName());
3535

36-
public static final RequestHandler2 tracingHandler =
36+
private static final RequestHandler2 tracingHandler =
3737
AwsSdkTelemetry.builder(GlobalOpenTelemetry.get())
3838
.setCaptureExperimentalSpanAttributes(
3939
DeclarativeConfigUtil.getInstrumentationConfig(GlobalOpenTelemetry.get(), "aws_sdk")
@@ -44,6 +44,10 @@ public class TracingRequestHandler extends RequestHandler2 {
4444
.build()
4545
.createRequestHandler();
4646

47+
public static RequestHandler2 tracingHandler() {
48+
return tracingHandler;
49+
}
50+
4751
@Override
4852
public void beforeRequest(Request<?> request) {
4953
tracingHandler.beforeRequest(request);

instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CassandraSingletons.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,15 @@
1111

1212
final class CassandraSingletons {
1313

14-
static final CassandraTelemetry telemetry =
14+
private static final CassandraTelemetry telemetry =
1515
CassandraTelemetry.builder(GlobalOpenTelemetry.get())
1616
.setQuerySanitizationEnabled(
1717
DbConfig.isQuerySanitizationEnabled(GlobalOpenTelemetry.get(), "cassandra"))
1818
.build();
1919

20+
static CassandraTelemetry telemetry() {
21+
return telemetry;
22+
}
23+
2024
private CassandraSingletons() {}
2125
}

instrumentation/cassandra/cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4/CompletionStageFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ public Object apply(Object session) {
1919
if (session.getClass().getName().endsWith("cassandra4.TracingCqlSession")) {
2020
return session;
2121
}
22-
return CassandraSingletons.telemetry.wrap((CqlSession) session);
22+
return CassandraSingletons.telemetry().wrap((CqlSession) session);
2323
}
2424
}

instrumentation/undertow-1.4/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/undertow/KeyHolder.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.IdentityHashMap;
99
import java.util.concurrent.ConcurrentHashMap;
1010
import java.util.concurrent.ConcurrentMap;
11+
import java.util.function.Supplier;
1112

1213
/**
1314
* Undertow's {@code io.undertow.server.HttpServerExchange} uses {@code
@@ -30,7 +31,15 @@
3031
* the same instance of the key.
3132
*/
3233
public final class KeyHolder {
33-
public static final ConcurrentMap<Class<?>, Object> contextKeys = new ConcurrentHashMap<>();
34+
private static final ConcurrentMap<Class<?>, Object> contextKeys = new ConcurrentHashMap<>();
35+
36+
public static Object getContextKey(Class<?> keyType) {
37+
return contextKeys.get(keyType);
38+
}
39+
40+
public static Object computeContextKeyIfAbsent(Class<?> keyType, Supplier<Object> supplier) {
41+
return contextKeys.computeIfAbsent(keyType, unused -> supplier.get());
42+
}
3443

3544
private KeyHolder() {}
3645
}

instrumentation/undertow-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public void exchangeCompleted(Context context, HttpServerExchange exchange) {
7070
@Nullable
7171
public Context getServerContext(HttpServerExchange exchange) {
7272
AttachmentKey<Context> contextKey =
73-
(AttachmentKey<Context>) KeyHolder.contextKeys.get(AttachmentKey.class);
73+
(AttachmentKey<Context>) KeyHolder.getContextKey(AttachmentKey.class);
7474
if (contextKey == null) {
7575
return null;
7676
}
@@ -81,8 +81,8 @@ public Context getServerContext(HttpServerExchange exchange) {
8181
private static void attachServerContext(Context context, HttpServerExchange exchange) {
8282
AttachmentKey<Context> contextKey =
8383
(AttachmentKey<Context>)
84-
KeyHolder.contextKeys.computeIfAbsent(
85-
AttachmentKey.class, key -> AttachmentKey.create(Context.class));
84+
KeyHolder.computeContextKeyIfAbsent(
85+
AttachmentKey.class, () -> AttachmentKey.create(Context.class));
8686
exchange.putAttachment(contextKey, context);
8787
}
8888

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/field/FieldBackedImplementationClassFileLocatorProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public final class FieldBackedImplementationClassFileLocatorProvider
2121
@Nullable
2222
@Override
2323
public ClassFileLocator getClassFileLocator() {
24-
if (!FieldBackedImplementationConfiguration.fieldInjectionEnabled) {
24+
if (!FieldBackedImplementationConfiguration.fieldInjectionEnabled()) {
2525
return null;
2626
}
2727

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/field/FieldBackedImplementationConfiguration.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
import io.opentelemetry.javaagent.tooling.config.EarlyInitAgentConfig;
99

1010
public final class FieldBackedImplementationConfiguration {
11-
static boolean fieldInjectionEnabled = true;
11+
private static boolean fieldInjectionEnabled = true;
12+
13+
static boolean fieldInjectionEnabled() {
14+
return fieldInjectionEnabled;
15+
}
1216

1317
public static void configure() {
1418
fieldInjectionEnabled = EarlyInitAgentConfig.get().isExperimentalFieldInjectionEnabled();

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/field/FieldBackedImplementationInstaller.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ context class is used by multiple instrumentations.
176176
public AgentBuilder.Identified.Extendable injectFields(
177177
AgentBuilder.Identified.Extendable builder) {
178178

179-
if (fieldInjectionEnabled) {
179+
if (fieldInjectionEnabled()) {
180180
for (Map.Entry<String, String> entry : virtualFieldMappings.entrySet()) {
181181
/*
182182
* For each virtual field defined in a current instrumentation we create an agent builder

0 commit comments

Comments
 (0)