Skip to content

Commit 0b73c5b

Browse files
authored
Backport: Update the OpenTelemetry SDK version to 1.38.0 in 1.33.x branch (#11386)
1 parent f15c3b9 commit 0b73c5b

File tree

55 files changed

+850
-195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+850
-195
lines changed

dependencyManagement/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ val dependencyVersions = hashMapOf<String, String>()
88
rootProject.extra["versions"] = dependencyVersions
99

1010
// this line is managed by .github/scripts/update-sdk-version.sh
11-
val otelSdkVersion = "1.37.0"
11+
val otelSdkVersion = "1.38.0"
1212
val otelSdkAlphaVersion = otelSdkVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1")
1313

1414
// Need both BOM and groovy jars

examples/distro/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ subprojects {
2727
ext {
2828
versions = [
2929
// this line is managed by .github/scripts/update-sdk-version.sh
30-
opentelemetrySdk : "1.37.0",
30+
opentelemetrySdk : "1.38.0",
3131

3232
// these lines are managed by .github/scripts/update-version.sh
3333
opentelemetryJavaagent : "1.33.2",

examples/extension/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ version '1.0'
2323
ext {
2424
versions = [
2525
// this line is managed by .github/scripts/update-sdk-version.sh
26-
opentelemetrySdk : "1.37.0",
26+
opentelemetrySdk : "1.38.0",
2727

2828
// these lines are managed by .github/scripts/update-version.sh
2929
opentelemetryJavaagent : "1.33.2",

instrumentation/opentelemetry-api/opentelemetry-api-1.27/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_27/ApplicationOpenTelemetry127.java

+15-3
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,22 @@ public ContextPropagators getPropagators() {
6363
}
6464

6565
private static ApplicationMeterFactory getMeterFactory() {
66-
// this class is defined in opentelemetry-api-1.37
66+
// this class is defined in opentelemetry-api-1.38
6767
ApplicationMeterFactory meterFactory =
6868
getMeterFactory(
69-
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137Incubator");
69+
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics.ApplicationMeterFactory138Incubator");
70+
if (meterFactory == null) {
71+
// this class is defined in opentelemetry-api-1.38
72+
meterFactory =
73+
getMeterFactory(
74+
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics.ApplicationMeterFactory138");
75+
}
76+
if (meterFactory == null) {
77+
// this class is defined in opentelemetry-api-1.37
78+
meterFactory =
79+
getMeterFactory(
80+
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137");
81+
}
7082
if (meterFactory == null) {
7183
// this class is defined in opentelemetry-api-1.32
7284
meterFactory =
@@ -83,7 +95,7 @@ private static ApplicationMeterFactory getMeterFactory() {
8395
// this class is defined in opentelemetry-api-1.31
8496
meterFactory =
8597
getMeterFactory(
86-
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeterFactory131");
98+
"io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeterFactory131");
8799
}
88100
if (meterFactory == null) {
89101
meterFactory = new ApplicationMeterFactory115();
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator;
77

88
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
99
import static java.util.Collections.singletonList;
@@ -17,7 +17,7 @@
1717
@AutoService(InstrumentationModule.class)
1818
public class OpenTelemetryApiInstrumentationModule extends InstrumentationModule {
1919
public OpenTelemetryApiInstrumentationModule() {
20-
super("opentelemetry-api", "opentelemetry-api-1.31");
20+
super("opentelemetry-api", "opentelemetry-api-1.31", "opentelemetry-api-incubator-1.31");
2121
}
2222

2323
@Override
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator;
77

88
import static net.bytebuddy.matcher.ElementMatchers.named;
99
import static net.bytebuddy.matcher.ElementMatchers.none;
1010

1111
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
13-
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeterFactory131;
13+
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeterFactory131;
1414
import net.bytebuddy.asm.Advice;
1515
import net.bytebuddy.description.type.TypeDescription;
1616
import net.bytebuddy.matcher.ElementMatcher;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleCounterBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.common.Attributes;
@@ -31,8 +31,7 @@ public LongGaugeBuilder ofLongs() {
3131

3232
@Override
3333
public DoubleGauge build() {
34-
io.opentelemetry.api.incubator.metrics.DoubleGauge agentDoubleGauge =
35-
((io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) agentBuilder).build();
34+
io.opentelemetry.api.metrics.DoubleGauge agentDoubleGauge = agentBuilder.build();
3635
return new DoubleGauge() {
3736

3837
@Override
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.metrics.LongHistogramBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleUpDownCounterBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.metrics.DoubleCounterBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.common.Attributes;
@@ -25,8 +25,7 @@ final class ApplicationLongGaugeBuilder131 extends ApplicationLongGaugeBuilder
2525

2626
@Override
2727
public LongGauge build() {
28-
io.opentelemetry.api.incubator.metrics.LongGauge agentLongGauge =
29-
((io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder) agentBuilder).build();
28+
io.opentelemetry.api.metrics.LongGauge agentLongGauge = agentBuilder.build();
3029
return new LongGauge() {
3130
@Override
3231
public void set(long value) {
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.extension.incubator.metrics.ExtendedLongHistogramBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder;
99
import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics;
77

88
import io.opentelemetry.api.metrics.Meter;
99
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeter;

instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/incubator/metrics/ApplicationMeter132Incubator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_32.incubator.metrics;
77

88
import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder;
9-
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeter131;
9+
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeter131;
1010

1111
class ApplicationMeter132Incubator extends ApplicationMeter131 {
1212

instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/ApplicationMeter132.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder;
99
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_15.metrics.ApplicationMeter115;
1010

11-
class ApplicationMeter132 extends ApplicationMeter115 {
11+
public class ApplicationMeter132 extends ApplicationMeter115 {
1212

1313
private final io.opentelemetry.api.metrics.Meter agentMeter;
1414

15-
ApplicationMeter132(io.opentelemetry.api.metrics.Meter agentMeter) {
15+
public ApplicationMeter132(io.opentelemetry.api.metrics.Meter agentMeter) {
1616
super(agentMeter);
1717
this.agentMeter = agentMeter;
1818
}

instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts

+11
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ configurations.configureEach {
1919
if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) {
2020
resolutionStrategy {
2121
force("io.opentelemetry:opentelemetry-api:1.37.0")
22+
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
23+
}
24+
if (name.startsWith("incubatorTest")) {
25+
resolutionStrategy {
26+
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
27+
}
28+
} else if (name.startsWith("oldAndNewIncubatorTest")) {
29+
resolutionStrategy {
30+
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
31+
force("io.opentelemetry:opentelemetry-extension-incubator:1.32.0-alpha")
32+
}
2233
}
2334
}
2435
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator;
7+
8+
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
9+
import static java.util.Collections.singletonList;
10+
11+
import com.google.auto.service.AutoService;
12+
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
13+
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
14+
import java.util.List;
15+
import net.bytebuddy.matcher.ElementMatcher;
16+
17+
@AutoService(InstrumentationModule.class)
18+
public class OpenTelemetryApiInstrumentationModule extends InstrumentationModule {
19+
public OpenTelemetryApiInstrumentationModule() {
20+
super("opentelemetry-api", "opentelemetry-api-1.37", "opentelemetry-api-incubator-1.37");
21+
}
22+
23+
@Override
24+
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
25+
// skip instrumentation when opentelemetry-api-incubator is not present
26+
return hasClassesNamed("application.io.opentelemetry.api.incubator.metrics.DoubleGauge");
27+
}
28+
29+
@Override
30+
public boolean isIndyModule() {
31+
return false;
32+
}
33+
34+
@Override
35+
public List<TypeInstrumentation> typeInstrumentations() {
36+
return singletonList(new OpenTelemetryInstrumentation());
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator;
7+
8+
import static net.bytebuddy.matcher.ElementMatchers.named;
9+
import static net.bytebuddy.matcher.ElementMatchers.none;
10+
11+
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
12+
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
13+
import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137;
14+
import net.bytebuddy.asm.Advice;
15+
import net.bytebuddy.description.type.TypeDescription;
16+
import net.bytebuddy.matcher.ElementMatcher;
17+
18+
public class OpenTelemetryInstrumentation implements TypeInstrumentation {
19+
20+
@Override
21+
public ElementMatcher<TypeDescription> typeMatcher() {
22+
return named("application.io.opentelemetry.api.GlobalOpenTelemetry");
23+
}
24+
25+
@Override
26+
public void transform(TypeTransformer transformer) {
27+
transformer.applyAdviceToMethod(
28+
none(), OpenTelemetryInstrumentation.class.getName() + "$InitAdvice");
29+
}
30+
31+
@SuppressWarnings({"ReturnValueIgnored", "unused"})
32+
public static class InitAdvice {
33+
@Advice.OnMethodEnter
34+
public static void init() {
35+
// the sole purpose of this advice is to ensure that ApplicationMeterFactory137
36+
// is recognized as helper class and injected into class loader
37+
ApplicationMeterFactory137.class.getName();
38+
}
39+
}
40+
}
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleCounterBuilder;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.common.Attributes;
@@ -31,8 +31,7 @@ public LongGaugeBuilder ofLongs() {
3131

3232
@Override
3333
public DoubleGauge build() {
34-
io.opentelemetry.api.incubator.metrics.DoubleGauge agentDoubleGauge =
35-
((io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) agentBuilder).build();
34+
io.opentelemetry.api.metrics.DoubleGauge agentDoubleGauge = agentBuilder.build();
3635
return new DoubleGauge() {
3736

3837
@Override
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics;
6+
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics;
77

88
import application.io.opentelemetry.api.common.AttributeKey;
99
import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder;

0 commit comments

Comments
 (0)