Skip to content

Commit d3356bd

Browse files
committed
Merge remote-tracking branch 'upstream/main' into stabilise-spanNames
2 parents 649d6ce + ec26d54 commit d3356bd

File tree

118 files changed

+1850
-413
lines changed

Some content is hidden

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

118 files changed

+1850
-413
lines changed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## Unreleased
44

5+
## Version 2.12.0 (2025-01-17)
6+
57
### Migration notes
68

79
- Some Java agent instrumentation suppression keys have been renamed to match their module names:
@@ -17,6 +19,32 @@
1719
`setKnownMethods(Collection)`
1820
([#12902](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12902))
1921

22+
### 📈 Enhancements
23+
24+
- Support `ExtendedTextMapGetter` in gRPC instrumentation
25+
([#13011](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13011))
26+
- Add database client metrics in DynamoDB instrumentation
27+
([#13033](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13033))
28+
- Propagate context into async http client CompletableFuture callbacks
29+
([#13041](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13041))
30+
- Exclude spring routing data source from Spring Starter instrumentation
31+
([#13054](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13054))
32+
- Instrument jdbc batch queries
33+
([#12797](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12797))
34+
35+
### 🛠️ Bug fixes
36+
37+
- Fix incorrect dubbo trace caused by using rpcContext.isProviderSide()
38+
([#12930](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12930))
39+
- Fix ClickHouse query failing with syntax error
40+
([#13020](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13020))
41+
- Fix instrumentation module not loading silently when duplicate helper classnames are detected
42+
([#13005](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13005))
43+
- Fix compatibility problem due to DubboHeadersGetter#keys in Dubbo 2.7.6 and 2.7.7
44+
([#12982](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12982))
45+
- Fix appender install for async Logback appenders
46+
([#13047](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13047))
47+
2048
## Version 2.11.0 (2024-12-23)
2149

2250
### Migration notes

RELEASING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ as the last step, which publishes a snapshot build to
1212

1313
## Release cadence
1414

15-
This repository roughly targets monthly minor releases from the `main` branch on the Thursday after
16-
the second Monday of the month (roughly a couple of days after the monthly minor release of
17-
[opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)).
15+
This repository roughly targets monthly minor releases from the `main` branch on the Wednesday after
16+
the second Monday of the month (roughly a few days after the monthly minor release of
17+
[opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)).
1818

1919
## Preparing a new major or minor release
2020

benchmark-overhead/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id("java")
3-
id("com.diffplug.spotless") version "7.0.1"
3+
id("com.diffplug.spotless") version "7.0.2"
44
}
55

66
spotless {

conventions/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
`kotlin-dsl`
33
// When updating, update below in dependencies too
4-
id("com.diffplug.spotless") version "7.0.1"
4+
id("com.diffplug.spotless") version "7.0.2"
55
}
66

77
spotless {
@@ -54,7 +54,7 @@ dependencies {
5454
implementation("org.apache.maven:maven-aether-provider:3.3.9")
5555

5656
// When updating, update above in plugins too
57-
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.0.1")
57+
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.0.2")
5858
implementation("com.google.guava:guava:33.4.0-jre")
5959
implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18")
6060
implementation("com.gradleup.shadow:shadow-gradle-plugin:8.3.5")
@@ -68,7 +68,7 @@ dependencies {
6868
implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6")
6969
implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2")
7070
implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.1.0")
71-
implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.1.0")
71+
implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.2.0")
7272
implementation("me.champeau.gradle:japicmp-gradle-plugin:0.4.5")
7373

7474
testImplementation(enforcedPlatform("org.junit:junit-bom:5.11.4"))

conventions/src/main/kotlin/io.opentelemetry.instrumentation.javaagent-testing.gradle.kts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ class JavaagentTestArgumentsProvider(
9393
"-Dio.opentelemetry.javaagent.slf4j.simpleLogger.log.io.grpc.internal.ServerImplBuilder=INFO",
9494
"-Dio.opentelemetry.javaagent.slf4j.simpleLogger.log.io.grpc.internal.ManagedChannelImplBuilder=INFO",
9595
"-Dio.opentelemetry.javaagent.slf4j.simpleLogger.log.io.perfmark.PerfMark=INFO",
96-
"-Dio.opentelemetry.javaagent.slf4j.simpleLogger.log.io.grpc.Context=INFO"
96+
"-Dio.opentelemetry.javaagent.slf4j.simpleLogger.log.io.grpc.Context=INFO",
97+
"-Dotel.java.experimental.span-attributes.copy-from-baggage.include=test-baggage-key-1,test-baggage-key-2"
9798
)
9899
}
99100

@@ -108,12 +109,22 @@ afterEvaluate {
108109
// this dependency.
109110
dependsOn(agentForTesting.buildDependencies)
110111

111-
jvmArgumentProviders.add(JavaagentTestArgumentsProvider(agentShadowJar, shadowJar.archiveFile.get().asFile))
112+
jvmArgumentProviders.add(
113+
JavaagentTestArgumentsProvider(
114+
agentShadowJar,
115+
shadowJar.archiveFile.get().asFile
116+
)
117+
)
112118

113119
// We do fine-grained filtering of the classpath of this codebase's sources since Gradle's
114120
// configurations will include transitive dependencies as well, which tests do often need.
115121
classpath = classpath.filter {
116-
if (file(layout.buildDirectory.dir("resources/main")).equals(it) || file(layout.buildDirectory.dir("classes/java/main")).equals(it)) {
122+
if (file(layout.buildDirectory.dir("resources/main")).equals(it) || file(
123+
layout.buildDirectory.dir(
124+
"classes/java/main"
125+
)
126+
).equals(it)
127+
) {
117128
// The sources are packaged into the testing jar, so we need to exclude them from the test
118129
// classpath, which automatically inherits them, to ensure our shaded versions are used.
119130
return@filter false

conventions/src/main/kotlin/otel.java-conventions.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ abstract class NettyAlignmentRule : ComponentMetadataRule {
143143
with(ctx.details) {
144144
if (id.group == "io.netty" && id.name != "netty") {
145145
if (id.version.startsWith("4.1.")) {
146-
belongsTo("io.netty:netty-bom:4.1.116.Final", false)
146+
belongsTo("io.netty:netty-bom:4.1.117.Final", false)
147147
} else if (id.version.startsWith("4.0.")) {
148148
belongsTo("io.netty:netty-bom:4.0.56.Final", false)
149149
}

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ val DEPENDENCIES = listOf(
115115
"org.junit-pioneer:junit-pioneer:1.9.1",
116116
"org.objenesis:objenesis:3.4",
117117
"javax.validation:validation-api:2.0.1.Final",
118-
"org.snakeyaml:snakeyaml-engine:2.8",
118+
"org.snakeyaml:snakeyaml-engine:2.9",
119119
"org.elasticmq:elasticmq-rest-sqs_2.13:1.6.11"
120120
)
121121

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Comparing source compatibility of opentelemetry-instrumentation-annotations-2.12.0.jar against opentelemetry-instrumentation-annotations-2.11.0.jar
2+
No changes.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Comparing source compatibility of opentelemetry-instrumentation-api-2.12.0.jar against opentelemetry-instrumentation-api-2.11.0.jar
2+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder (not serializable)
3+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
4+
GENERIC TEMPLATES: === REQUEST:java.lang.Object, === RESPONSE:java.lang.Object
5+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder<REQUEST,RESPONSE> setCapturedRequestHeaders(java.util.Collection<java.lang.String>)
6+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder<REQUEST,RESPONSE> setCapturedResponseHeaders(java.util.Collection<java.lang.String>)
7+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder<REQUEST,RESPONSE> setKnownMethods(java.util.Collection<java.lang.String>)
8+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder (not serializable)
9+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
10+
GENERIC TEMPLATES: === REQUEST:java.lang.Object, === RESPONSE:java.lang.Object
11+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder<REQUEST,RESPONSE> setCapturedRequestHeaders(java.util.Collection<java.lang.String>)
12+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder<REQUEST,RESPONSE> setCapturedResponseHeaders(java.util.Collection<java.lang.String>)
13+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder<REQUEST,RESPONSE> setKnownMethods(java.util.Collection<java.lang.String>)
14+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder (not serializable)
15+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
16+
GENERIC TEMPLATES: === REQUEST:java.lang.Object
17+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder<REQUEST> setKnownMethods(java.util.Collection<java.lang.String>)
18+
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder (not serializable)
19+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
20+
GENERIC TEMPLATES: === REQUEST:java.lang.Object
21+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder<REQUEST> setKnownMethods(java.util.Collection<java.lang.String>)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Comparing source compatibility of opentelemetry-spring-boot-autoconfigure-2.12.0.jar against opentelemetry-spring-boot-autoconfigure-2.11.0.jar
2+
No changes.

0 commit comments

Comments
 (0)