Skip to content

Commit 5175997

Browse files
authored
Merge branch 'main' into kafka-connect
2 parents 6f3ed60 + 7aced6c commit 5175997

File tree

203 files changed

+1666
-797
lines changed

Some content is hidden

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

203 files changed

+1666
-797
lines changed

.github/workflows/codeql.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,13 @@ jobs:
7575
# --no-build-cache is required for codeql to analyze all modules
7676
# --no-daemon is required for codeql to observe the compilation
7777
# (see https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#specifying-build-commands)
78-
run: ./gradlew assemble -x javadoc --no-build-cache --no-daemon
78+
# collectReachabilityMetadata tasks are disabled because they often cause the build to fail
79+
run: >
80+
./gradlew assemble -x javadoc
81+
-x :smoke-tests-otel-starter:spring-boot-3:collectReachabilityMetadata
82+
-x :smoke-tests-otel-starter:spring-boot-3.2:collectReachabilityMetadata
83+
-x :smoke-tests-otel-starter:spring-boot-reactive-3:collectReachabilityMetadata
84+
--no-build-cache --no-daemon
7985
8086
- name: Perform CodeQL analysis
8187
uses: github/codeql-action/analyze@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11

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

Lines changed: 2 additions & 2 deletions
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.124.Final", false)
146+
belongsTo("io.netty:netty-bom:4.1.126.Final", false)
147147
} else if (id.version.startsWith("4.0.")) {
148148
belongsTo("io.netty:netty-bom:4.0.56.Final", false)
149149
}
@@ -439,7 +439,7 @@ codenarc {
439439
checkstyle {
440440
configFile = rootProject.file("buildscripts/checkstyle.xml")
441441
// this version should match the version of google_checks.xml used as basis for above configuration
442-
toolVersion = "11.0.0"
442+
toolVersion = "11.0.1"
443443
maxWarnings = 0
444444
}
445445

dependencyManagement/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ val DEPENDENCY_BOMS = listOf(
2727
// for some reason boms show up as runtime dependencies in license and vulnerability scans
2828
// even if they are only used by test dependencies, so not using junit bom since it is LGPL
2929

30-
"com.fasterxml.jackson:jackson-bom:2.19.2",
30+
"com.fasterxml.jackson:jackson-bom:2.20.0",
3131
"com.google.guava:guava-bom:33.4.8-jre",
3232
"org.apache.groovy:groovy-bom:${groovyVersion}",
3333
"io.opentelemetry:opentelemetry-bom:${otelSdkVersion}",
@@ -43,7 +43,7 @@ val asmVersion = "9.8"
4343
val jmhVersion = "1.37"
4444
val mockitoVersion = "4.11.0"
4545
val slf4jVersion = "2.0.17"
46-
val semConvVersion = "1.36.0"
46+
val semConvVersion = "1.37.0"
4747
val semConvAlphaVersion = semConvVersion.replaceFirst("(-rc.*)?$".toRegex(), "-alpha$1")
4848

4949
val CORE_DEPENDENCIES = listOf(
@@ -107,7 +107,7 @@ val DEPENDENCIES = listOf(
107107
"io.opentelemetry.contrib:opentelemetry-gcp-resources:${otelContribVersion}",
108108
"io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources:${otelContribVersion}",
109109
"io.opentelemetry.contrib:opentelemetry-baggage-processor:${otelContribVersion}",
110-
"io.opentelemetry.proto:opentelemetry-proto:1.7.0-alpha",
110+
"io.opentelemetry.proto:opentelemetry-proto:1.8.0-alpha",
111111
"io.opentelemetry:opentelemetry-extension-annotations:1.18.0", // deprecated, no longer part of bom
112112
"org.assertj:assertj-core:3.27.4",
113113
"org.awaitility:awaitility:4.3.0",

docs/instrumentation-list.yaml

Lines changed: 85 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -923,6 +923,7 @@ libraries:
923923
- name: aws-lambda-core-1.0
924924
description: |
925925
Provides lightweight instrumentation of the Lambda core library, supporting all versions. It generates FaaS SERVER spans with the `faas.invocation_id` attribute. Use this package if you only use `RequestStreamHandler` or know you don't use any event classes from `aws-lambda-java-events`. This also includes when you are using `aws-serverless-java-container` to run e.g., a Spring Boot application on Lambda.
926+
For custom wrappers when using library instrumentation, you can configure the `OTEL_INSTRUMENTATION_AWS_LAMBDA_HANDLER` environment variable to contain your lambda handler method (in the format `package.ClassName::methodName`) and use one of wrappers as your lambda `Handler`.
926927
source_path: instrumentation/aws-lambda/aws-lambda-core-1.0
927928
scope:
928929
name: io.opentelemetry.aws-lambda-core-1.0
@@ -945,7 +946,7 @@ libraries:
945946
type: STRING
946947
- name: aws-lambda-events-2.2
947948
description: |
948-
Provides full instrumentation of the Lambda library, including standard and custom event types, from `aws-lambda-java-events` 2.2+.
949+
This version of the library instrumentation is deprecated, please use the `aws-lambda-events-3.11` library instrumentation instead. This instrumentation builds on top of the `aws-lambda-core-1.0` instrumentation, expanding support to cover the Lambda library, including standard and custom event types.
949950
source_path: instrumentation/aws-lambda/aws-lambda-events-2.2
950951
scope:
951952
name: io.opentelemetry.aws-lambda-events-2.2
@@ -960,6 +961,11 @@ libraries:
960961
description: Flush timeout in milliseconds.
961962
type: int
962963
default: 10000
964+
- name: otel.instrumentation.http.known-methods
965+
description: |
966+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
967+
type: list
968+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
963969
telemetry:
964970
- when: default
965971
spans:
@@ -984,13 +990,51 @@ libraries:
984990
- name: user_agent.original
985991
type: STRING
986992
- name: aws-lambda-events-3.11
993+
description: |
994+
This instrumentation builds on top of the `aws-lambda-core-1.0` instrumentation, expanding support to cover the Lambda library, including standard and custom event types.
987995
source_path: instrumentation/aws-lambda/aws-lambda-events-3.11
988996
scope:
989997
name: io.opentelemetry.aws-lambda-events-3.11
990998
target_versions:
991999
library:
9921000
- com.amazonaws:aws-lambda-java-events:3.11.0
9931001
- com.amazonaws:aws-lambda-java-core:1.0.0
1002+
configurations:
1003+
- name: otel.instrumentation.aws-lambda.flush-timeout
1004+
description: Flush timeout in milliseconds.
1005+
type: int
1006+
default: 10000
1007+
telemetry:
1008+
- when: default
1009+
spans:
1010+
- span_kind: CONSUMER
1011+
attributes:
1012+
- name: messaging.destination.name
1013+
type: STRING
1014+
- name: messaging.message.id
1015+
type: STRING
1016+
- name: messaging.operation
1017+
type: STRING
1018+
- name: messaging.system
1019+
type: STRING
1020+
- span_kind: SERVER
1021+
attributes:
1022+
- name: cloud.account.id
1023+
type: STRING
1024+
- name: cloud.resource_id
1025+
type: STRING
1026+
- name: faas.invocation_id
1027+
type: STRING
1028+
- name: faas.trigger
1029+
type: STRING
1030+
- name: http.request.method
1031+
type: STRING
1032+
- name: http.response.status_code
1033+
type: LONG
1034+
- name: url.full
1035+
type: STRING
1036+
- name: user_agent.original
1037+
type: STRING
9941038
- name: aws-sdk-1.11
9951039
description: |
9961040
This instrumentation covers the AWS SDK 1.11+ client library, enabling messaging and client spans and metrics for calls to AWS services including DynamoDB, EC2, Kinesis, Lambda, RDS, S3, secrets manager, SNS/SQS and step functions.
@@ -1277,9 +1321,9 @@ libraries:
12771321
attributes:
12781322
- name: gen_ai.operation.name
12791323
type: STRING
1280-
- name: gen_ai.request.model
1324+
- name: gen_ai.provider.name
12811325
type: STRING
1282-
- name: gen_ai.system
1326+
- name: gen_ai.request.model
12831327
type: STRING
12841328
- name: gen_ai.client.token.usage
12851329
description: Measures number of input and output tokens used.
@@ -1288,9 +1332,9 @@ libraries:
12881332
attributes:
12891333
- name: gen_ai.operation.name
12901334
type: STRING
1291-
- name: gen_ai.request.model
1335+
- name: gen_ai.provider.name
12921336
type: STRING
1293-
- name: gen_ai.system
1337+
- name: gen_ai.request.model
12941338
type: STRING
12951339
- name: gen_ai.token.type
12961340
type: STRING
@@ -1341,6 +1385,8 @@ libraries:
13411385
type: STRING
13421386
- name: gen_ai.operation.name
13431387
type: STRING
1388+
- name: gen_ai.provider.name
1389+
type: STRING
13441390
- name: gen_ai.request.max_tokens
13451391
type: LONG
13461392
- name: gen_ai.request.model
@@ -1353,8 +1399,6 @@ libraries:
13531399
type: DOUBLE
13541400
- name: gen_ai.response.finish_reasons
13551401
type: STRING_ARRAY
1356-
- name: gen_ai.system
1357-
type: STRING
13581402
- name: gen_ai.usage.input_tokens
13591403
type: LONG
13601404
- name: gen_ai.usage.output_tokens
@@ -1389,6 +1433,8 @@ libraries:
13891433
type: LONG
13901434
- name: messaging.destination.name
13911435
type: STRING
1436+
- name: messaging.header.Test_Message_Header
1437+
type: STRING_ARRAY
13921438
- name: messaging.message.id
13931439
type: STRING
13941440
- name: messaging.operation
@@ -1421,6 +1467,8 @@ libraries:
14211467
type: LONG
14221468
- name: messaging.destination.name
14231469
type: STRING
1470+
- name: messaging.header.Test_Message_Header
1471+
type: STRING_ARRAY
14241472
- name: messaging.message.id
14251473
type: STRING
14261474
- name: messaging.operation
@@ -1525,6 +1573,8 @@ libraries:
15251573
type: LONG
15261574
- name: messaging.destination.name
15271575
type: STRING
1576+
- name: messaging.header.Test_Message_Header
1577+
type: STRING_ARRAY
15281578
- name: messaging.message.id
15291579
type: STRING
15301580
- name: messaging.operation
@@ -1557,6 +1607,8 @@ libraries:
15571607
type: LONG
15581608
- name: messaging.destination.name
15591609
type: STRING
1610+
- name: messaging.header.Test_Message_Header
1611+
type: STRING_ARRAY
15601612
- name: messaging.message.id
15611613
type: STRING
15621614
- name: messaging.operation
@@ -3964,6 +4016,16 @@ libraries:
39644016
target_versions:
39654017
library:
39664018
- org.apache.kafka:kafka-clients:2.6.0
4019+
configurations:
4020+
- name: otel.instrumentation.messaging.experimental.capture-headers
4021+
description: A comma-separated list of header names to capture as span attributes.
4022+
type: list
4023+
default: ''
4024+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
4025+
description: |
4026+
Enables experimental receive telemetry, which will cause consumers to start a new trace, with only a span link connecting it to the producer trace.
4027+
type: boolean
4028+
default: false
39674029
- name: kafka-streams-0.11
39684030
source_path: instrumentation/kafka/kafka-streams-0.11
39694031
scope:
@@ -4592,46 +4654,48 @@ libraries:
45924654
attributes:
45934655
- name: gen_ai.operation.name
45944656
type: STRING
4657+
- name: gen_ai.provider.name
4658+
type: STRING
45954659
- name: gen_ai.request.model
45964660
type: STRING
45974661
- name: gen_ai.response.model
45984662
type: STRING
4599-
- name: gen_ai.system
4600-
type: STRING
46014663
- name: gen_ai.client.token.usage
46024664
description: Measures number of input and output tokens used.
46034665
type: HISTOGRAM
46044666
unit: token
46054667
attributes:
46064668
- name: gen_ai.operation.name
46074669
type: STRING
4670+
- name: gen_ai.provider.name
4671+
type: STRING
46084672
- name: gen_ai.request.model
46094673
type: STRING
46104674
- name: gen_ai.response.model
46114675
type: STRING
4612-
- name: gen_ai.system
4613-
type: STRING
46144676
- name: gen_ai.token.type
46154677
type: STRING
46164678
spans:
46174679
- span_kind: CLIENT
46184680
attributes:
46194681
- name: gen_ai.operation.name
46204682
type: STRING
4683+
- name: gen_ai.provider.name
4684+
type: STRING
46214685
- name: gen_ai.request.encoding_formats
46224686
type: STRING_ARRAY
46234687
- name: gen_ai.request.model
46244688
type: STRING
46254689
- name: gen_ai.response.model
46264690
type: STRING
4627-
- name: gen_ai.system
4628-
type: STRING
46294691
- name: gen_ai.usage.input_tokens
46304692
type: LONG
46314693
- span_kind: INTERNAL
46324694
attributes:
46334695
- name: gen_ai.operation.name
46344696
type: STRING
4697+
- name: gen_ai.provider.name
4698+
type: STRING
46354699
- name: gen_ai.request.frequency_penalty
46364700
type: DOUBLE
46374701
- name: gen_ai.request.max_tokens
@@ -4654,8 +4718,6 @@ libraries:
46544718
type: STRING
46554719
- name: gen_ai.response.model
46564720
type: STRING
4657-
- name: gen_ai.system
4658-
type: STRING
46594721
- name: gen_ai.usage.input_tokens
46604722
type: LONG
46614723
- name: gen_ai.usage.output_tokens
@@ -5615,6 +5677,8 @@ libraries:
56155677
spans:
56165678
- span_kind: CONSUMER
56175679
attributes:
5680+
- name: messaging.header.Test_Message_Header
5681+
type: STRING_ARRAY
56185682
- name: messaging.operation
56195683
type: STRING
56205684
- when: otel.instrumentation.spring-integration.producer.enabled=true
@@ -5686,6 +5750,10 @@ libraries:
56865750
attributes:
56875751
- name: messaging.destination.name
56885752
type: STRING
5753+
- name: messaging.header.Test_Message_Header
5754+
type: STRING_ARRAY
5755+
- name: messaging.header.Test_Message_Int_Header
5756+
type: STRING_ARRAY
56895757
- name: messaging.message.id
56905758
type: STRING
56915759
- name: messaging.operation
@@ -5824,6 +5892,8 @@ libraries:
58245892
attributes:
58255893
- name: messaging.destination.name
58265894
type: STRING
5895+
- name: messaging.header.Test_Message_Header
5896+
type: STRING_ARRAY
58275897
- name: messaging.message.body.size
58285898
type: LONG
58295899
- name: messaging.operation

examples/distro/smoke-tests/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ plugins {
44

55
dependencies {
66
testImplementation("org.testcontainers:testcontainers:1.21.3")
7-
testImplementation("com.fasterxml.jackson.core:jackson-databind:2.19.2")
7+
testImplementation("com.fasterxml.jackson.core:jackson-databind:2.20.0")
88
testImplementation("com.google.protobuf:protobuf-java-util:4.32.0")
99
testImplementation("com.squareup.okhttp3:okhttp:5.1.0")
10-
testImplementation("io.opentelemetry.proto:opentelemetry-proto:1.7.0-alpha")
10+
testImplementation("io.opentelemetry.proto:opentelemetry-proto:1.8.0-alpha")
1111
testImplementation("io.opentelemetry:opentelemetry-api")
1212

1313
testImplementation("ch.qos.logback:logback-classic:1.5.18")

examples/extension/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ dependencies {
9999

100100
//All dependencies below are only for tests
101101
testImplementation("org.testcontainers:testcontainers:1.21.3")
102-
testImplementation("com.fasterxml.jackson.core:jackson-databind:2.19.2")
102+
testImplementation("com.fasterxml.jackson.core:jackson-databind:2.20.0")
103103
testImplementation("com.google.protobuf:protobuf-java-util:4.32.0")
104104
testImplementation("com.squareup.okhttp3:okhttp:5.1.0")
105105
testImplementation("io.opentelemetry:opentelemetry-api")
106-
testImplementation("io.opentelemetry.proto:opentelemetry-proto:1.7.0-alpha")
106+
testImplementation("io.opentelemetry.proto:opentelemetry-proto:1.8.0-alpha")
107107

108108
testImplementation(enforcedPlatform("org.junit:junit-bom:5.13.4"))
109109
testImplementation("org.junit.jupiter:junit-jupiter-api")

0 commit comments

Comments
 (0)