Skip to content

Commit 74a6a55

Browse files
committed
add ExtendedOpenTelemetry
1 parent c448717 commit 74a6a55

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

instrumentation/opentelemetry-api/opentelemetry-api-1.55/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_55/incubator/ApplicationOpenTelemetry155Incubator.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,36 @@
88
import application.io.opentelemetry.api.OpenTelemetry;
99
import application.io.opentelemetry.api.incubator.ExtendedOpenTelemetry;
1010
import application.io.opentelemetry.api.incubator.config.ConfigProvider;
11+
import io.opentelemetry.api.GlobalOpenTelemetry;
1112
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_27.ApplicationOpenTelemetry127;
1213
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_55.incubator.config.ApplicationConfigProvider155Incubator;
14+
import javax.annotation.Nullable;
1315

1416
public class ApplicationOpenTelemetry155Incubator extends ApplicationOpenTelemetry127
1517
implements ExtendedOpenTelemetry {
1618

1719
// Accessed with reflection
20+
@Nullable
1821
@SuppressWarnings("unused")
19-
public static final OpenTelemetry INSTANCE = new ApplicationOpenTelemetry155Incubator();
22+
public static final OpenTelemetry INSTANCE = create();
2023

21-
private final ConfigProvider configProvider =
22-
new ApplicationConfigProvider155Incubator(
23-
((io.opentelemetry.api.incubator.ExtendedOpenTelemetry)
24-
io.opentelemetry.api.GlobalOpenTelemetry.get())
24+
private final ConfigProvider configProvider;
25+
26+
@Nullable
27+
private static ApplicationOpenTelemetry155Incubator create() {
28+
io.opentelemetry.api.OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
29+
if (openTelemetry instanceof io.opentelemetry.api.incubator.ExtendedOpenTelemetry) {
30+
return new ApplicationOpenTelemetry155Incubator(
31+
((io.opentelemetry.api.incubator.ExtendedOpenTelemetry) openTelemetry)
2532
.getConfigProvider());
33+
}
34+
return null;
35+
}
36+
37+
public ApplicationOpenTelemetry155Incubator(
38+
io.opentelemetry.api.incubator.config.ConfigProvider configProvider) {
39+
this.configProvider = new ApplicationConfigProvider155Incubator(configProvider);
40+
}
2641

2742
@Override
2843
public ConfigProvider getConfigProvider() {

0 commit comments

Comments
 (0)