Skip to content

Commit 91efab1

Browse files
authored
Merge branch 'main' into camel-metadata
2 parents 35b7c96 + 82bf0cd commit 91efab1

File tree

21 files changed

+461
-252
lines changed

21 files changed

+461
-252
lines changed

.github/workflows/release.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121
release:
2222
permissions:
2323
contents: write # for creating the release
24+
id-token: write # for signing artifacts with Sigstore
25+
attestations: write # for uploading attestations
2426
runs-on: ubuntu-latest
2527
needs:
2628
- common
@@ -170,13 +172,22 @@ jobs:
170172
.github/scripts/generate-release-contributors.sh v$PRIOR_VERSION >> /tmp/release-notes.txt
171173
fi
172174
175+
- name: Simplify paths for attaching
176+
run: |
177+
cp javaagent/build/libs/opentelemetry-javaagent-${VERSION}.jar opentelemetry-javaagent.jar
178+
cp javaagent/build/libs/opentelemetry-javaagent-${VERSION}.jar.asc opentelemetry-javaagent.jar.asc
179+
180+
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
181+
with:
182+
subject-path: |
183+
opentelemetry-javaagent.jar
184+
opentelemetry-java-instrumentation-SBOM.zip
185+
173186
- id: create-github-release
174187
name: Create GitHub release
175188
env:
176189
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
177190
run: |
178-
cp javaagent/build/libs/opentelemetry-javaagent-${VERSION}.jar opentelemetry-javaagent.jar
179-
cp javaagent/build/libs/opentelemetry-javaagent-${VERSION}.jar.asc opentelemetry-javaagent.jar.asc
180191
gh release create --target $GITHUB_REF_NAME \
181192
--title "Version $VERSION" \
182193
--notes-file /tmp/release-notes.txt \

CHANGELOG.md

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

33
## Unreleased
44

5+
## ⚠️ Breaking Changes
6+
7+
- Hadoop JMX metrics have been renamed to align with semantic conventions.
8+
If you are using Hadoop JMX metrics, you will need to update your dashboards and alerts.
9+
([#14411](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14411))
10+
- Lettuce 5.1 instrumentation now aligns with other instrumentations and no longer sets the
11+
span status description.
12+
([#14886](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14886))
13+
14+
## 🚫 Deprecations
15+
16+
- The following Logback appender configuration properties have been renamed for clarity.
17+
The old property names have been deprecated and will be removed in a future release:
18+
- Java agent: `otel.instrumentation.logback-appender.experimental.capture-logstash-attributes`
19+
`otel.instrumentation.logback-appender.experimental.capture-logstash-marker-attributes`
20+
- Spring Boot starter`otel.instrumentation.logback-appender.experimental.capture-logstash-markers`
21+
`otel.instrumentation.logback-appender.experimental.capture-logstash-marker-attributes`
22+
- Logback appender configuration property: `captureLogstashAttributes``captureLogstashMarkerAttributes`
23+
- Logback appender API: `setCaptureLogstashAttributes()``setCaptureLogstashMarkerAttributes()`
24+
([#14959](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14959))
25+
26+
### 🌟 New javaagent instrumentation
27+
28+
- Add Helidon instrumentation
29+
([#13776](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13776))
30+
- Add NATS instrumentation
31+
([#13999](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13999))
32+
- OpenSearch Transport v3.0 Implementation
33+
([#14823](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14823))
34+
- Add Kafka Connect API instrumentation
35+
([#14478](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14478))
36+
37+
### 🌟 New library instrumentation
38+
39+
- Add Helidon Instrumentation
40+
([#13776](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13776))
41+
- Add NATS instrumentation
42+
([#13999](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13999))
43+
- [Failsafe](https://failsafe.dev/) 3.0 instrumentation introduced
44+
([#14057](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14057))
45+
46+
### 📈 Enhancements
47+
48+
- Add experimental sqlcommenter support for JDBC and R2DBC
49+
([#13714](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13714))
50+
- Align Hadoop JMX metrics with semantic conventions
51+
([#14411](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14411))
52+
- Introduce experimental API for operation attributes to be passed only to OperationListeners
53+
([#14590](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14590))
54+
- Add span logging support for declarative configuration
55+
([#14591](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14591))
56+
- Add span logging support for Spring Boot starter
57+
([#14594](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14594))
58+
- Support capturing event names in logback, log4j, and jboss-logmanager appenders
59+
([#14649](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14649))
60+
- Include contrib sampler in java agent, e.g. for filtering health check endpoints
61+
([#14677](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14677))
62+
- Collect RPC metrics in Apache Dubbo instrumentation
63+
([#14690](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14690))
64+
- Add experimental option to disable noisy `redis.encode` span events in Lettuce instrumentation
65+
([#14750](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14750))
66+
- Support ListIterator in Kafka consumer instrumentation for Spark Structured Streaming
67+
([#14757](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14757))
68+
- Exclude wrapper classes in JDBC instrumentation
69+
([#14760](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14760))
70+
- Support JDBC URL parsing for OceanBase, PolarDB, and Lindorm databases
71+
([#14790](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14790))
72+
- Support context propagation in Guava AsyncEventBus
73+
([#14791](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14791))
74+
- Make `db.statement` attribute available during sampling in Lettuce instrumentation
75+
([#14856](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14856))
76+
- Add `code.namespace` and `code.function` attributes to Vaadin controller spans
77+
([#14882](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14882))
78+
- Add `code.namespace` and `code.function` attributes to Grails controller spans
79+
([#14885](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14885))
80+
- Support Hibernate 7.2.0.CR1
81+
([#14921](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14921))
82+
- Support capturing Logstash StructuredArguments as log record attributes
83+
([#14959](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14959))
84+
- Add gRPC request/response size metrics
85+
([#14342](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14342))
86+
87+
### 🛠️ Bug fixes
88+
89+
- Fix datasource instrumentation to support connection pools like Druid
90+
([#14602](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14602))
91+
- Fix Java HTTP client instrumentation to properly propagate request cancellation
92+
([#14747](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14747))
93+
- Fix Reactor Netty HTTP client instrumentation to handle IllegalStateException
94+
([#14778](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14778))
95+
- Fix executor context propagation when a stateless lambda instance is passed multiple times
96+
([#14841](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14841))
97+
- Remove span status description from Lettuce 5.1 instrumentation
98+
([#14886](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14886))
99+
- Fix Spring Boot autoconfiguration ordering for micrometer bridge
100+
([#15011](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15011))
101+
5102
## Version 2.20.1 (2025-09-22)
6103

7104
### 🛠️ Bug fixes

RELEASING.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,10 @@ and deadlocks.
6565
- Run the [Release workflow](https://github.com/open-telemetry/opentelemetry-java-instrumentation/actions/workflows/release.yml).
6666
- Press the "Run workflow" button, then select the release branch from the dropdown list,
6767
e.g. `release/v1.9.x`, and click the "Run workflow" button below that.
68-
- This workflow will publish the artifacts to maven central and will publish a GitHub release
69-
with release notes based on the change log and with the javaagent jar attached.
68+
- This workflow will:
69+
- Publish the artifacts to Maven Central
70+
- Generate [GitHub Artifact Attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations) for the Java agent jar and SBOM bundle
71+
- Publish a GitHub release with release notes, Java agent jar, and SBOM bundle
7072
- Review and merge the pull request that it creates for updating the apidiff baseline version
7173
to the newly released version (note that this pull request won't be made until after the release
7274
is available in maven central).

docs/instrumentation-list.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2049,6 +2049,9 @@ libraries:
20492049
description: This instrumentation enables context propagation for the Azure Core
20502050
library, it does not emit any telemetry on its own.
20512051
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
2052+
features:
2053+
- CONTEXT_PROPAGATION
2054+
- AUTO_INSTRUMENTATION_SHIM
20522055
source_path: instrumentation/azure-core/azure-core-1.14
20532056
scope:
20542057
name: io.opentelemetry.azure-core-1.14
@@ -2059,6 +2062,9 @@ libraries:
20592062
description: This instrumentation enables context propagation for the Azure Core
20602063
library, it does not emit any telemetry on its own.
20612064
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
2065+
features:
2066+
- CONTEXT_PROPAGATION
2067+
- AUTO_INSTRUMENTATION_SHIM
20622068
source_path: instrumentation/azure-core/azure-core-1.19
20632069
scope:
20642070
name: io.opentelemetry.azure-core-1.19
@@ -2069,6 +2075,9 @@ libraries:
20692075
description: This instrumentation enables context propagation for the Azure Core
20702076
library, it does not emit any telemetry on its own.
20712077
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
2078+
features:
2079+
- CONTEXT_PROPAGATION
2080+
- AUTO_INSTRUMENTATION_SHIM
20722081
source_path: instrumentation/azure-core/azure-core-1.36
20732082
scope:
20742083
name: io.opentelemetry.azure-core-1.36
@@ -2079,6 +2088,8 @@ libraries:
20792088
- name: c3p0-0.9
20802089
description: The c3p0 instrumentation provides connection pool metrics for c3p0
20812090
data sources.
2091+
semantic_conventions:
2092+
- DATABASE_POOL_METRICS
20822093
library_link: https://github.com/swaldman/c3p0
20832094
source_path: instrumentation/c3p0-0.9
20842095
scope:
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
description: This instrumentation enables context propagation for the Azure Core library, it does not emit any telemetry on its own.
2+
features:
3+
- CONTEXT_PROPAGATION
4+
- AUTO_INSTRUMENTATION_SHIM
25
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
description: This instrumentation enables context propagation for the Azure Core library, it does not emit any telemetry on its own.
2+
features:
3+
- CONTEXT_PROPAGATION
4+
- AUTO_INSTRUMENTATION_SHIM
25
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
description: This instrumentation enables context propagation for the Azure Core library, it does not emit any telemetry on its own.
2+
features:
3+
- CONTEXT_PROPAGATION
4+
- AUTO_INSTRUMENTATION_SHIM
25
library_link: https://learn.microsoft.com/en-us/java/api/overview/azure/core-readme?view=azure-java-stable
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
description: The c3p0 instrumentation provides connection pool metrics for c3p0 data sources.
2+
semantic_conventions:
3+
- DATABASE_POOL_METRICS
24
library_link: https://github.com/swaldman/c3p0

instrumentation/jmx-metrics/library/jetty.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,31 @@ The metrics captured and their respective attributes depend on the Jetty version
1010

1111
Those metrics require the following Jetty modules to be enabled : `jmx`, `http`, `statistics`, `sessions` and at least one of `ee8-deploy`, `ee9-deploy` or `ee10-deploy`.
1212

13-
| Metric Name | Type | Attributes | Description |
14-
|-------------------------|---------------|---------------|-------------------------------------------|
15-
| jetty.thread.count | UpDownCounter | | The current number of threads |
16-
| jetty.thread.limit | UpDownCounter | | The maximum number of threads in the pool |
17-
| jetty.thread.busy.count | UpDownCounter | | The current number of busy threads |
18-
| jetty.thread.idle.count | UpDownCounter | | The current number of idle threads |
19-
| jetty.thread.queue.size | UpDownCounter | | The current job queue size |
20-
| jetty.io.select.count | Counter | | The number of select calls |
21-
| jetty.session.count | UpDownCounter | jetty.context | Current number of active sessions |
13+
| Metric Name | Type | Unit | Attributes | Description |
14+
|-------------------------|---------------|-------------|---------------|-------------------------------------------|
15+
| jetty.thread.count | UpDownCounter | {thread} | | The current number of threads |
16+
| jetty.thread.limit | UpDownCounter | {thread} | | The maximum number of threads in the pool |
17+
| jetty.thread.busy.count | UpDownCounter | {thread} | | The current number of busy threads |
18+
| jetty.thread.idle.count | UpDownCounter | {thread} | | The current number of idle threads |
19+
| jetty.thread.queue.size | UpDownCounter | {thread} | | The current job queue size |
20+
| jetty.io.select.count | Counter | {operation} | | The number of select calls |
21+
| jetty.session.count | UpDownCounter | {session} | jetty.context | Current number of active sessions |
2222

2323
- `jetty.context` corresponds to the deployed application subfolder in `webapps` folder.
2424

2525
## Jetty 9 to 11
2626

2727
Those metrics require the following Jetty modules to be enabled : `jmx`, `http` and `stats`.
2828

29-
| Metric Name | Type | Attributes | Description |
30-
|-----------------------------|---------------|---------------|-------------------------------------------|
31-
| jetty.thread.count | UpDownCounter | | The current number of threads |
32-
| jetty.thread.limit | UpDownCounter | | The maximum number of threads in the pool |
33-
| jetty.thread.busy.count | UpDownCounter | | The current number of busy threads |
34-
| jetty.thread.idle.count | UpDownCounter | | The current number of idle threads |
35-
| jetty.thread.queue.size | UpDownCounter | | The current job queue size |
36-
| jetty.io.select.count | Counter | | The number of select calls |
37-
| jetty.session.created.count | Counter | jetty.context | The total number of created sessions |
38-
| jetty.session.duration.sum | Counter | jetty.context | The cumulated session duration |
29+
| Metric Name | Type | Unit | Attributes | Description |
30+
|-----------------------------|---------------|-------------|---------------|-------------------------------------------|
31+
| jetty.thread.count | UpDownCounter | {thread} | | The current number of threads |
32+
| jetty.thread.limit | UpDownCounter | {thread} | | The maximum number of threads in the pool |
33+
| jetty.thread.busy.count | UpDownCounter | {thread} | | The current number of busy threads |
34+
| jetty.thread.idle.count | UpDownCounter | {thread} | | The current number of idle threads |
35+
| jetty.thread.queue.size | UpDownCounter | {thread} | | The current job queue size |
36+
| jetty.io.select.count | Counter | {operation} | | The number of select calls |
37+
| jetty.session.created.count | Counter | {session} | jetty.context | The total number of created sessions |
38+
| jetty.session.duration.sum | Counter | {session} | jetty.context | The cumulated session duration |
3939

4040
- `jetty.context` corresponds to the deployed application subfolder in `webapps` folder.

0 commit comments

Comments
 (0)