Skip to content

Commit d027e2e

Browse files
committed
Merge branch 'main' into disk-buffering-api-implementation
2 parents b5fcf76 + e77eb03 commit d027e2e

File tree

26 files changed

+468
-63
lines changed

26 files changed

+468
-63
lines changed

.github/scripts/draft-change-log-entries.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ component_names["consistent-sampling/"]="Consistent sampling"
3535
component_names["disk-buffering/"]="Disk buffering"
3636
component_names["gcp-resources/"]="GCP resources"
3737
component_names["gcp-auth-extension/"]="GCP authentication extension"
38+
component_names["ibm-mq-metrics/"]="IBM MQ metrics"
3839
component_names["inferred-spans/"]="Inferred spans"
3940
component_names["jfr-connection/"]="JFR connection"
4041
component_names["jfr-events/"]="JFR events"
@@ -44,6 +45,7 @@ component_names["kafka-exporter/"]="Kafka exporter"
4445
component_names["maven-extension/"]="Maven extension"
4546
component_names["micrometer-meter-provider/"]="Micrometer MeterProvider"
4647
component_names["noop-api/"]="No-op API"
48+
component_names["opamp-client/"]="OpAMP client"
4749
component_names["processors/"]="Telemetry processors"
4850
component_names["prometheus-client-bridge/"]="Prometheus client bridge"
4951
component_names["runtime-attach/"]="Runtime attach"

.github/workflows/build-common.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ on:
99
no-build-cache:
1010
type: boolean
1111
required: false
12+
max-test-retries:
13+
type: number
14+
required: false
15+
default: 0
1216

1317
permissions:
1418
contents: read
@@ -90,6 +94,7 @@ jobs:
9094
"-PtestJavaVersion=${{ matrix.test-java-version }}"
9195
"-Porg.gradle.java.installations.paths=${{ steps.setup-java-test.outputs.path }}"
9296
"-Porg.gradle.java.installations.auto-download=false"
97+
"-PmaxTestRetries=${{ inputs.max-test-retries }}"
9398
${{ inputs.no-build-cache && '--no-build-cache' || '' }}
9499
95100
integration-test:
@@ -109,7 +114,7 @@ jobs:
109114
cache-read-only: ${{ inputs.cache-read-only }}
110115

111116
- name: Integration test
112-
run: ./gradlew integrationTest ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
117+
run: ./gradlew integrationTest "-PmaxTestRetries=${{ inputs.max-test-retries }}" ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
113118

114119
- name: Save integration test results
115120
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

.github/workflows/build-pull-request.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ jobs:
1616
uses: ./.github/workflows/build-common.yml
1717
with:
1818
cache-read-only: true
19+
# retry in merge queue to avoid unnecessary failures
20+
max-test-retries: ${{ github.event_name == 'merge_group' && 5 || 0 }}
1921

2022
link-check:
2123
uses: ./.github/workflows/reusable-link-check.yml

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
5151

5252
- name: Initialize CodeQL
53-
uses: github/codeql-action/init@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
53+
uses: github/codeql-action/init@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
5454
with:
5555
languages: ${{ matrix.language }}
5656
# using "linked" helps to keep up with the latest Kotlin support
@@ -65,6 +65,6 @@ jobs:
6565
run: ./gradlew assemble --no-build-cache --no-daemon
6666

6767
- name: Perform CodeQL analysis
68-
uses: github/codeql-action/analyze@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
68+
uses: github/codeql-action/analyze@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
6969
with:
7070
category: "/language:${{matrix.language}}"

.github/workflows/ossf-scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ jobs:
5252
# Upload the results to GitHub's code scanning dashboard (optional).
5353
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
5454
- name: "Upload to code-scanning"
55-
uses: github/codeql-action/upload-sarif@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
55+
uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
5656
with:
5757
sarif_file: results.sarif

.github/workflows/release.yml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
name: Release
22
on:
33
workflow_dispatch:
4+
inputs:
5+
already-published:
6+
description: 'Skip publishing, download artifacts from Maven Central instead'
7+
default: false
8+
type: boolean
49

510
permissions:
611
contents: read
@@ -125,14 +130,31 @@ jobs:
125130

126131
- name: Set up gradle
127132
uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
133+
128134
- name: Build and publish artifacts
135+
if: ${{ !inputs.already-published }}
129136
run: ./gradlew assemble publishToSonatype closeAndReleaseSonatypeStagingRepository
130137
env:
131138
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
132139
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
133140
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
134141
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
135142

143+
- name: Download artifacts from Maven Central (when already published)
144+
if: ${{ inputs.already-published }}
145+
run: |
146+
mkdir -p jmx-metrics/build/libs
147+
mkdir -p jmx-scraper/build/libs
148+
149+
curl -L -o jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar \
150+
"https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-metrics/$VERSION-alpha/opentelemetry-jmx-metrics-$VERSION-alpha.jar"
151+
curl -L -o jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar.asc \
152+
"https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-metrics/$VERSION-alpha/opentelemetry-jmx-metrics-$VERSION-alpha.jar.asc"
153+
curl -L -o jmx-scraper/build/libs/opentelemetry-jmx-scraper-$VERSION-alpha.jar \
154+
"https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-scraper/$VERSION-alpha/opentelemetry-jmx-scraper-$VERSION-alpha.jar"
155+
curl -L -o jmx-scraper/build/libs/opentelemetry-jmx-scraper-$VERSION-alpha.jar.asc \
156+
"https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-scraper/$VERSION-alpha/opentelemetry-jmx-scraper-$VERSION-alpha.jar.asc"
157+
136158
- name: Generate release notes
137159
env:
138160
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -182,17 +204,16 @@ jobs:
182204
cp jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar opentelemetry-jmx-metrics.jar
183205
cp jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar.asc opentelemetry-jmx-metrics.jar.asc
184206
cp jmx-scraper/build/libs/opentelemetry-jmx-scraper-$VERSION-alpha.jar opentelemetry-jmx-scraper.jar
185-
cp jmx-scraper/build/libs/opentelemetry-jmx-scraper-$VERSION-alpha.jar opentelemetry-jmx-scraper.jar.asc
207+
cp jmx-scraper/build/libs/opentelemetry-jmx-scraper-$VERSION-alpha.jar.asc opentelemetry-jmx-scraper.jar.asc
186208
187209
gh release create --target $GITHUB_REF_NAME \
188210
--title "Version $VERSION" \
189211
--notes-file /tmp/release-notes.txt \
190212
v$VERSION \
191213
opentelemetry-jmx-metrics.jar \
192-
opentelemetry-jmx-metrics.jar.asc \
214+
opentelemetry-jmx-metrics.jar.asc \
193215
opentelemetry-jmx-scraper.jar \
194-
opentelemetry-jmx-scraper.jar.asc
195-
216+
opentelemetry-jmx-scraper.jar.asc
196217
197218
echo "version=$VERSION" >> $GITHUB_OUTPUT
198219

CHANGELOG.md

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

33
## Unreleased
44

5+
## Version 1.49.0 (2025-08-22)
6+
7+
### Consistent sampling
8+
9+
- Add updateable threshold sampler for dynamic sampling configuration
10+
([#2137](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/2137))
11+
12+
### Disk buffering
13+
14+
- Introduce API changes for improved disk buffering functionality
15+
([#2084](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/2084))
16+
- Implement more efficient serializer with direct disk write capabilities
17+
([#2138](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/2138))
18+
19+
### IBM MQ metrics - New 🌟
20+
21+
IBM MQ metrics collection utility.
22+
23+
### Inferred spans
24+
25+
- Update async profiler to version 4.1 for improved performance
26+
([#2096](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/2096))
27+
28+
### OpAMP client - New 🌟
29+
30+
OpenTelemetry Agent Management Protocol (OpAMP) client implementation.
31+
532
## Version 1.48.0 (2025-07-23)
633

734
### AWS resources

buildSrc/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ dependencies {
1717
implementation("net.ltgt.gradle:gradle-nullaway-plugin:2.2.0")
1818
implementation("org.owasp:dependency-check-gradle:12.1.3")
1919
implementation("ru.vyarus.animalsniffer:ru.vyarus.animalsniffer.gradle.plugin:2.0.1")
20+
implementation("com.gradle:develocity-gradle-plugin:4.1.1")
2021
}
2122

2223
spotless {

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,23 @@ tasks {
6666
withType<Test>().configureEach {
6767
useJUnitPlatform()
6868

69+
val maxTestRetries = gradle.startParameter.projectProperties["maxTestRetries"]?.toInt() ?: 0
70+
develocity.testRetry {
71+
// You can see tests that were retried by this mechanism in the collected test reports and build scans.
72+
maxRetries.set(maxTestRetries)
73+
}
74+
6975
testLogging {
7076
exceptionFormat = TestExceptionFormat.FULL
7177
showStandardStreams = true
7278
}
79+
80+
configure<JacocoTaskExtension> {
81+
// only care about code coverage for code in this repository
82+
// (in particular avoiding netty classes which sometimes end up
83+
// causing sporadic CI failures)
84+
includes = listOf("io/opentelemetry/contrib/**")
85+
}
7386
}
7487

7588
withType<Javadoc>().configureEach {

consistent-sampling/build.gradle.kts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,14 @@ dependencies {
1212
testImplementation("org.hipparchus:hipparchus-core:4.0.1")
1313
testImplementation("org.hipparchus:hipparchus-stat:4.0.1")
1414
}
15+
16+
tasks {
17+
withType<Test>().configureEach {
18+
develocity.testRetry {
19+
// TODO (trask) fix flaky tests and remove this workaround
20+
if (System.getenv().containsKey("CI")) {
21+
maxRetries.set(5)
22+
}
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)