Skip to content

Commit e35564e

Browse files
committed
Merge branch 'main' into unsafe
2 parents 3e640a6 + e69ab73 commit e35564e

File tree

65 files changed

+1015
-478
lines changed

Some content is hidden

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

65 files changed

+1015
-478
lines changed

.github/renovate.json5

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
// junit 6+ requires Java 17+
117117
matchPackageNames: [
118118
'org.junit:**',
119+
'org.junit.jupiter:**',
119120
],
120121
matchUpdateTypes: [
121122
'major',

.github/workflows/issue-management-stale-action.yml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ jobs:
1313
stale:
1414
permissions:
1515
contents: read
16+
actions: write # because actions/stale deletes its old cache before saving new one
1617
issues: write # for actions/stale to close stale issues
1718
pull-requests: write # for actions/stale to close stale PRs
1819
runs-on: ubuntu-latest
1920
steps:
21+
# Action #1: Handle issues/PRs awaiting author feedback
22+
# - After 7 days inactive: Adds "stale" label + warning comment
23+
# - After 7 more days inactive: Closes
2024
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
2125
with:
26+
only-labels: "needs author feedback"
2227
days-before-stale: 7
2328
days-before-close: 7
24-
only-labels: "needs author feedback"
2529
stale-issue-label: stale
2630
stale-issue-message: >
2731
This issue has been labeled as stale due to lack of activity and needing author feedback.
@@ -31,21 +35,27 @@ jobs:
3135
This PR has been labeled as stale due to lack of activity and needing author feedback.
3236
It will be automatically closed if there is no further activity over the next 7 days.
3337
38+
# Action #2: Close old enhancement requests
39+
# - Targets: Issues with "enhancement" label (but NOT "needs author feedback")
40+
# - After 365 days inactive: Adds "stale" label + closes immediately (no warning period)
41+
# - Skips: Issues with "needs author feedback" to avoid conflicts with Action #1
3442
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
3543
with:
44+
only-labels: "enhancement"
45+
# Skip issues that need author feedback (handled by the first action with 7+7 day policy)
46+
exempt-issue-labels: "needs author feedback"
47+
days-before-pr-stale: -1
48+
days-before-pr-close: -1
3649
days-before-stale: 365
3750
days-before-close: 0
3851
close-issue-label: stale
3952
close-issue-message: >
4053
Since there has been no activity on this enhancement for the past year we are closing it to help maintain our backlog.
4154
Anyone who would like to work on it is still welcome to do so, and we can re-open it at that time.
42-
days-before-pr-stale: -1
43-
days-before-pr-close: -1
44-
only-labels: "enhancement"
45-
# "stale" exemption: so that it won't close issues labeled as stale by "needs author feedback"
46-
# "needs author feedback" exemption: so that it won't remove the stale label added by the first action
47-
exempt-issue-labels: "stale,needs author feedback"
4855
56+
# Action #3: Handle stale PRs
57+
# - After 180 days inactive: Adds "stale" label + warning comment
58+
# - After 14 more days inactive: Closes
4959
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
5060
with:
5161
days-before-issue-stale: -1

conventions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ dependencies {
5858
implementation("com.google.guava:guava:33.5.0-jre")
5959
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.2.2")
6060
implementation("org.apache.httpcomponents:httpclient:4.5.14")
61-
implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.2")
61+
implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.2.1")
6262
implementation("org.owasp:dependency-check-gradle:12.1.6")
6363
implementation("ru.vyarus:gradle-animalsniffer-plugin:2.0.1")
6464
implementation("org.spdx:spdx-gradle-plugin:0.9.0")

docs/instrumentation-list.yaml

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,25 @@ libraries:
2121
target_versions:
2222
javaagent:
2323
- io.activej:activej-http:[6.0,)
24+
configurations:
25+
- name: otel.instrumentation.http.known-methods
26+
description: |
27+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
28+
type: list
29+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
30+
- name: otel.instrumentation.http.server.capture-request-headers
31+
description: List of HTTP request headers to capture in HTTP server telemetry.
32+
type: list
33+
default: ''
34+
- name: otel.instrumentation.http.server.capture-response-headers
35+
description: List of HTTP response headers to capture in HTTP server telemetry.
36+
type: list
37+
default: ''
38+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
39+
description: |
40+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size` and `http.response.body.size` attributes to spans, and records `http.server.request.size` and `http.server.response.size` metrics.
41+
type: boolean
42+
default: false
2443
telemetry:
2544
- when: default
2645
metrics:
@@ -107,6 +126,7 @@ libraries:
107126
library_link: https://doc.akka.io/docs/akka-http/current/index.html
108127
features:
109128
- HTTP_ROUTE
129+
- CONTEXT_PROPAGATION
110130
source_path: instrumentation/akka/akka-http-10.0
111131
scope:
112132
name: io.opentelemetry.akka-http-10.0
@@ -115,6 +135,47 @@ libraries:
115135
- com.typesafe.akka:akka-http_2.12:[10,)
116136
- com.typesafe.akka:akka-http_2.13:[10,)
117137
- com.typesafe.akka:akka-http_2.11:[10,)
138+
configurations:
139+
- name: otel.instrumentation.http.known-methods
140+
description: |
141+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
142+
type: list
143+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
144+
- name: otel.instrumentation.http.client.capture-request-headers
145+
description: List of HTTP request headers to capture in HTTP client telemetry.
146+
type: list
147+
default: ''
148+
- name: otel.instrumentation.http.client.capture-response-headers
149+
description: List of HTTP response headers to capture in HTTP client telemetry.
150+
type: list
151+
default: ''
152+
- name: otel.instrumentation.common.peer-service-mapping
153+
description: Used to specify a mapping from host names or IP addresses to peer
154+
services.
155+
type: map
156+
default: ''
157+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
158+
description: |
159+
Enable the capture of experimental HTTP client telemetry. Adds the `http.request.body.size` and `http.response.body.size` attributes to spans, and records `http.client.request.size` and `http.client.response.size` metrics.
160+
type: boolean
161+
default: false
162+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
163+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
164+
type: boolean
165+
default: true
166+
- name: otel.instrumentation.http.server.capture-request-headers
167+
description: List of HTTP request headers to capture in HTTP server telemetry.
168+
type: list
169+
default: ''
170+
- name: otel.instrumentation.http.server.capture-response-headers
171+
description: List of HTTP response headers to capture in HTTP server telemetry.
172+
type: list
173+
default: ''
174+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
175+
description: |
176+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size` and `http.response.body.size` attributes to spans, and records `http.server.request.size` and `http.server.response.size` metrics.
177+
type: boolean
178+
default: false
118179
telemetry:
119180
- when: default
120181
metrics:
@@ -206,6 +267,12 @@ libraries:
206267
- com.alibaba:druid:(,)
207268
library:
208269
- com.alibaba:druid:1.0.0
270+
configurations:
271+
- name: otel.semconv-stability.opt-in
272+
description: |
273+
Opt-in to emit stable semantic conventions instead of the old experimental semantic conventions. Accepts a comma-separated list of semantic convention groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new conventions simultaneously. Stable semantic conventions will become the default in version 3.0 of the agent.
274+
type: list
275+
default: ''
209276
telemetry:
210277
- when: default
211278
metrics:
@@ -305,6 +372,12 @@ libraries:
305372
- org.apache.commons:commons-dbcp2:[2,)
306373
library:
307374
- org.apache.commons:commons-dbcp2:2.0
375+
configurations:
376+
- name: otel.semconv-stability.opt-in
377+
description: |
378+
Opt-in to emit stable semantic conventions instead of the old experimental semantic conventions. Accepts a comma-separated list of semantic convention groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new conventions simultaneously. Stable semantic conventions will become the default in version 3.0 of the agent.
379+
type: list
380+
default: ''
308381
telemetry:
309382
- when: default
310383
metrics:
@@ -374,13 +447,13 @@ libraries:
374447
type: STRING
375448
- name: apache-dubbo-2.7
376449
display_name: Apache Dubbo
377-
description: The Apache Dubbo instrumentation provides RPC client spans and RPC
378-
server spans for Apache Dubbo RPC calls. Each call produces a span named after
379-
the Dubbo method, enriched with standard RPC attributes (system, service, method),
380-
network attributes, and error details if an exception occurs.
450+
description: |
451+
The Apache Dubbo instrumentation provides RPC client spans and metrics, and RPC server spans and metrics for Apache Dubbo RPC calls.
381452
semantic_conventions:
382453
- RPC_CLIENT_SPANS
454+
- RPC_CLIENT_METRICS
383455
- RPC_SERVER_SPANS
456+
- RPC_SERVER_METRICS
384457
library_link: https://github.com/apache/dubbo/
385458
source_path: instrumentation/apache-dubbo-2.7
386459
scope:

instrumentation/activej-http-6.0/metadata.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,25 @@ library_link: https://activej.io/
44
semantic_conventions:
55
- HTTP_SERVER_SPANS
66
- HTTP_SERVER_METRICS
7+
configurations:
8+
- name: otel.instrumentation.http.known-methods
9+
description: >
10+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All
11+
other methods will be treated as `_OTHER`.
12+
type: list
13+
default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE"
14+
- name: otel.instrumentation.http.server.capture-request-headers
15+
description: List of HTTP request headers to capture in HTTP server telemetry.
16+
type: list
17+
default: ""
18+
- name: otel.instrumentation.http.server.capture-response-headers
19+
description: List of HTTP response headers to capture in HTTP server telemetry.
20+
type: list
21+
default: ""
22+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
23+
description: >
24+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size`
25+
and `http.response.body.size` attributes to spans, and records `http.server.request.size` and
26+
`http.server.response.size` metrics.
27+
type: boolean
28+
default: false

instrumentation/akka/akka-http-10.0/metadata.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,49 @@ semantic_conventions:
1010
- HTTP_SERVER_METRICS
1111
features:
1212
- HTTP_ROUTE
13+
- CONTEXT_PROPAGATION
14+
configurations:
15+
- name: otel.instrumentation.http.known-methods
16+
description: >
17+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All
18+
other methods will be treated as `_OTHER`.
19+
type: list
20+
default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE"
21+
- name: otel.instrumentation.http.client.capture-request-headers
22+
description: List of HTTP request headers to capture in HTTP client telemetry.
23+
type: list
24+
default: ""
25+
- name: otel.instrumentation.http.client.capture-response-headers
26+
description: List of HTTP response headers to capture in HTTP client telemetry.
27+
type: list
28+
default: ""
29+
- name: otel.instrumentation.common.peer-service-mapping
30+
description: Used to specify a mapping from host names or IP addresses to peer services.
31+
type: map
32+
default: ""
33+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
34+
description: >
35+
Enable the capture of experimental HTTP client telemetry. Adds the `http.request.body.size`
36+
and `http.response.body.size` attributes to spans, and records `http.client.request.size` and
37+
`http.client.response.size` metrics.
38+
type: boolean
39+
default: false
40+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
41+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
42+
type: boolean
43+
default: true
44+
- name: otel.instrumentation.http.server.capture-request-headers
45+
description: List of HTTP request headers to capture in HTTP server telemetry.
46+
type: list
47+
default: ""
48+
- name: otel.instrumentation.http.server.capture-response-headers
49+
description: List of HTTP response headers to capture in HTTP server telemetry.
50+
type: list
51+
default: ""
52+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
53+
description: >
54+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size`
55+
and `http.response.body.size` attributes to spans, and records `http.server.request.size` and
56+
`http.server.response.size` metrics.
57+
type: boolean
58+
default: false

instrumentation/alibaba-druid-1.0/metadata.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,13 @@ description: >
44
library_link: https://github.com/alibaba/druid
55
semantic_conventions:
66
- DATABASE_POOL_METRICS
7+
configurations:
8+
- name: otel.semconv-stability.opt-in
9+
description: >
10+
Opt-in to emit stable semantic conventions instead of the old
11+
experimental semantic conventions. Accepts a comma-separated list of semantic convention
12+
groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new
13+
conventions simultaneously. Stable semantic conventions will become the default in version
14+
3.0 of the agent.
15+
type: list
16+
default: ""

instrumentation/apache-dbcp-2.0/metadata.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,13 @@ description: >
99
library_link: https://commons.apache.org/proper/commons-dbcp/
1010
semantic_conventions:
1111
- DATABASE_POOL_METRICS
12+
configurations:
13+
- name: otel.semconv-stability.opt-in
14+
description: >
15+
Opt-in to emit stable semantic conventions instead of the old
16+
experimental semantic conventions. Accepts a comma-separated list of semantic convention
17+
groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new
18+
conventions simultaneously. Stable semantic conventions will become the default in version
19+
3.0 of the agent.
20+
type: list
21+
default: ""

instrumentation/apache-dubbo-2.7/metadata.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
display_name: Apache Dubbo
2-
description: The Apache Dubbo instrumentation provides RPC client spans and RPC server spans for
3-
Apache Dubbo RPC calls. Each call produces a span named after the Dubbo method, enriched with
4-
standard RPC attributes (system, service, method), network attributes, and error details if an
5-
exception occurs.
2+
description: >
3+
The Apache Dubbo instrumentation provides RPC client spans and metrics, and RPC server spans and
4+
metrics for Apache Dubbo RPC calls.
65
semantic_conventions:
76
- RPC_CLIENT_SPANS
7+
- RPC_CLIENT_METRICS
88
- RPC_SERVER_SPANS
9+
- RPC_SERVER_METRICS
910
library_link: https://github.com/apache/dubbo/
1011
configurations:
1112
- name: otel.instrumentation.common.peer-service-mapping
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Library Instrumentation for AWS SDK for Java version 1.11 and higher
2+
3+
Provides OpenTelemetry instrumentation for the [AWS SDK for Java](https://aws.amazon.com/sdk-for-java/).
4+
5+
## Quickstart
6+
7+
### Add these dependencies to your project
8+
9+
Replace `OPENTELEMETRY_VERSION` with the [latest release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-aws-sdk-1.11).
10+
11+
For Maven, add to your `pom.xml` dependencies:
12+
13+
```xml
14+
<dependencies>
15+
<dependency>
16+
<groupId>io.opentelemetry.instrumentation</groupId>
17+
<artifactId>opentelemetry-aws-sdk-1.11</artifactId>
18+
<version>OPENTELEMETRY_VERSION</version>
19+
</dependency>
20+
</dependencies>
21+
```
22+
23+
For Gradle, add to your dependencies:
24+
25+
```kotlin
26+
implementation("io.opentelemetry.instrumentation:opentelemetry-aws-sdk-1.11:OPENTELEMETRY_VERSION")
27+
```
28+
29+
### Usage
30+
31+
The instrumentation library provides a `RequestHandler2` that can be added to any AWS SDK v1
32+
client builder to provide spans and context propagation.
33+
34+
```java
35+
import com.amazonaws.services.s3.AmazonS3;
36+
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
37+
import io.opentelemetry.api.OpenTelemetry;
38+
import io.opentelemetry.instrumentation.awssdk.v1_11.AwsSdkTelemetry;
39+
40+
public class AwsSdkConfiguration {
41+
42+
// Use this to create instrumented AWS SDK clients.
43+
public AmazonS3 createS3Client(OpenTelemetry openTelemetry) {
44+
return AmazonS3ClientBuilder.standard()
45+
.withRequestHandlers(
46+
AwsSdkTelemetry.builder(openTelemetry)
47+
.build()
48+
.newRequestHandler())
49+
.build();
50+
}
51+
52+
// This pattern works for all AWS SDK v1 client builders (S3, SQS, DynamoDB, etc.).
53+
}
54+
```

0 commit comments

Comments
 (0)