Compare commits

...

970 Commits

Author SHA1 Message Date
renovate[bot] 5d702ed0d3
fix(deps): update all patch versions to v1.15.2 (#2026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:42:15 +00:00
renovate[bot] 1773b8f778
fix(deps): update spotless packages to v7.1.0 (#2025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:41:37 +00:00
renovate[bot] a820cad474
fix(deps): update dependency com.squareup.okhttp3:okhttp to v5.1.0 (#2023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:06:37 +00:00
renovate[bot] 36156f4d2e
fix(deps): update errorprone packages to v2.40.0 (#2024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:05:49 +00:00
Trask Stalnaker 6a3094f18a
More link check improvements (#2010) 2025-07-12 23:47:12 +00:00
César 6f3a18a109
OpAMP WebSocket service (#1969)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-10 13:21:23 +00:00
renovate[bot] 83d5cd843d
fix(deps): update all patch versions (#2017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 05:55:16 +00:00
Trask Stalnaker 45ea93180c
Fix OSSF scorecard branch protection check (#2015) 2025-07-09 21:58:24 +00:00
renovate[bot] 5aaf88fa0a
chore(deps): update plugin com.squareup.wire to v5.3.4 (#2009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 05:46:27 +00:00
renovate[bot] c3fc90f076
chore(deps): update open-telemetry/assign-reviewers-action digest to fcd27c5 (#2008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 04:00:49 +00:00
Trask Stalnaker 97382709ba
link check small refactoring (#2006) 2025-07-08 19:06:33 +00:00
Trask Stalnaker 65179dc9db
Also open issue on workflow dispatch failure (#2005) 2025-07-08 05:36:12 +00:00
Trask Stalnaker 8c6089aa59
Stop lychee from causing so many PR failures (#2002) 2025-07-07 21:40:32 +00:00
renovate[bot] 8add72d056
fix(deps): update dependency com.squareup.okhttp3:okhttp to v5 (#2000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 18:21:23 +00:00
SylvainJuge b2c64b3765
jmx scraper add link to instrumentation yaml for tomcat (#2003) 2025-07-07 14:56:41 +00:00
Trask Stalnaker 81ef37bb55
Add unreleased section (#2004) 2025-07-07 14:39:42 +00:00
renovate[bot] 8a65c8cbcf
fix(deps): update all patch versions (#1992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 07:08:36 +00:00
Trask Stalnaker a6ff9a030c
Fix sporadically failing maven extension test (#2001) 2025-07-07 05:31:57 +00:00
otelbot[bot] 01680d8df5
Merge change log updates from release/v1.47.x (#1999)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-04 05:39:26 +00:00
otelbot[bot] 358e039e26
Update version to 1.48.0-SNAPSHOT (#1994)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2025-07-04 04:25:42 +00:00
Trask Stalnaker 81a36172bb
Update change log for upcoming release (#1990)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-07-03 22:27:44 +00:00
renovate[bot] a6e06d0049
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.17.0-alpha (#1983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2025-07-03 21:01:22 +00:00
SylvainJuge 26143b21d2
code stable semconv (#1989) 2025-07-02 15:41:26 +00:00
jason plumb 5ae1d570ec
Make link check consistent (#1986) 2025-07-01 18:27:24 +00:00
Robert Elliot 52c1ac978b
fix: Image parsing (#1829)
Signed-off-by: Robert Elliot <rob@lidalia.org.uk>
2025-07-01 18:26:38 +00:00
renovate[bot] c2ad96df7a
chore(deps): update github/codeql-action action to v3.29.2 (#1987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 14:28:54 +00:00
SylvainJuge 88f07b6afd
jmx scraper: add missing relevant config options (#1979)
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2025-06-30 20:15:57 +00:00
renovate[bot] a8338679e7
fix(deps): update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.36.0 (#1982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 04:30:28 +00:00
renovate[bot] 8bf35d0894
fix(deps): update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.3.0 (#1984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 04:15:07 +00:00
renovate[bot] c6e20dba85
fix(deps): update all patch versions (#1981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 03:40:05 +00:00
renovate[bot] 9ec6ff7540
fix(deps): update errorprone packages to v2.39.0 (#1985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 03:36:13 +00:00
Gregor Zeitlinger 3c1269ef4e
add test for Mac OS and Windows (#1934)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-29 00:04:03 +00:00
OpenTelemetry Bot 032e0e67cc
Fix outdated community membership link (#1978)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-26 23:08:13 +00:00
renovate[bot] fc0fcb8dfa
fix(deps): update dependency org.junit:junit-bom to v5.13.2 (#1977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-25 03:45:22 +00:00
OpenTelemetry Bot 4b43cb610d
Update community member listings (#1976)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-25 03:26:26 +00:00
Trask Stalnaker 9b6fa69bdf
Revert "Fix OSSF scorecard branch protection check" (#1973) 2025-06-23 20:52:12 +00:00
Trask Stalnaker b3a3b2cd17
Revert "Update version to 1.48.0-SNAPSHOT" (#1970) 2025-06-23 16:36:53 +00:00
Trask Stalnaker 0b7c5de951
Fix OSSF scorecard branch protection check (#1971) 2025-06-23 16:36:26 +00:00
renovate[bot] da7268339a
fix(deps): update all patch versions (#1972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-23 15:37:03 +00:00
renovate[bot] 37f0278c84
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.3 (#1968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 07:22:36 +00:00
renovate[bot] 70d2c6520a
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.2 (#1967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 06:22:15 +00:00
renovate[bot] b9be5bdd62
fix(deps): update all patch versions to v1.21.2 (#1966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 05:16:30 +00:00
renovate[bot] 0d0f513348
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.6 (#1965)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 05:39:39 +00:00
César a26d257a44
OpAMP HTTP service (#1928)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2025-06-16 21:15:00 +00:00
renovate[bot] 3856e1d003
fix(deps): update semconvversion (#1963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 19:45:18 +00:00
renovate[bot] 4b992a7a61
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.19.1 (#1961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 05:19:44 +00:00
renovate[bot] b73618392b
chore(deps): update github/codeql-action action to v3.29.0 (#1962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 05:19:21 +00:00
renovate[bot] 6c31f42ba8
chore(deps): update gradle/actions action to v4.4.1 (#1958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-12 04:53:11 +00:00
renovate[bot] a4cc53feef
fix(deps): update dependency org.owasp:dependency-check-gradle to v12.1.3 (#1953)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 05:12:00 +00:00
Trask Stalnaker f3fe52b300
Faster CodeQL (#1944) 2025-06-10 19:52:03 +00:00
Leonardo Serrano 9c487385ac
Add missing EventName to disk-buffering LogRecordDataMapper (#1950) 2025-06-10 17:43:46 +00:00
Trask Stalnaker 49fa87b916
Update snapshot location (#1951) 2025-06-10 04:49:06 +00:00
renovate[bot] 9abec35e31
fix(deps): update all patch versions to v1.15.1 (#1952)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 04:47:36 +00:00
renovate[bot] 2ef34b8804
fix(deps): update dependency org.bouncycastle:bcpkix-jdk18on to v1.81 (#1948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 09:52:30 +00:00
renovate[bot] ce537f25e1
fix(deps): update dependency org.bouncycastle:bcprov-jdk18on to v1.81 (#1949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 06:25:20 +00:00
renovate[bot] 9033751161
fix(deps): update dependency com.toasttab.android:gummy-bears-api-21 to v0.12.0 (#1947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 06:24:44 +00:00
renovate[bot] 2f84857694
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.37.0 (#1946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 06:23:41 +00:00
renovate[bot] ebfe715c2c
fix(deps): update all patch versions (#1945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 06:23:10 +00:00
Trask Stalnaker 0a37bb9ed2
Fix workflow when issue is a PR (#1943) 2025-06-07 05:16:44 +00:00
jason plumb 82cdc8959d
Update repos for sonatype central (#1942) 2025-06-06 22:22:19 +00:00
Trask Stalnaker e1c2db4aa7
Reduce repo settings we need to doc (#1939) 2025-06-06 21:30:25 +00:00
Pranav Sharma 7b8bbf7d45
Update ConfigurableOptions to read from ConfigProperties (#1904) 2025-06-05 15:20:55 +00:00
jackshirazi 91276a92f9
Add jackshirazi to opamp component_owners (#1937) 2025-06-04 17:32:17 +00:00
César 5581d561ab
Implementing ExtendedLogRecordData (#1918) 2025-06-04 02:45:27 +00:00
renovate[bot] 312ecac752
chore(deps): update all patch versions (#1936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 02:36:28 +00:00
César a3deeb2e86
Disk buffering reading refactor (#1917)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-04 02:21:02 +00:00
renovate[bot] 3be75ed83e
fix(deps): update dependency org.junit:junit-bom to v5.13.0 (#1933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 12:55:41 +00:00
renovate[bot] 23a2a7046a
fix(deps): update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.35.0 (#1932)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 12:55:17 +00:00
renovate[bot] 805a784874
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.36.0 (#1931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 12:54:55 +00:00
renovate[bot] 8d9b238a14
chore(deps): update ossf/scorecard-action action to v2.4.2 (#1930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 12:54:35 +00:00
otelbot-java-contrib[bot] 124993ee04
A dummy PR to give otelbot-java-contrib one merged PR under its belt (#1929)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-30 17:31:27 +00:00
Trask Stalnaker 2a7610aad1
Setting up: A dummy PR to give otelbot-java-contrib one merged PR under its belt (#1925) 2025-05-30 17:26:56 +00:00
renovate[bot] 4e7590ed5b
fix(deps): update all patch versions to v1.21.1 (#1926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 16:18:03 +00:00
Trask Stalnaker 793a3ab3aa
Fix spotless automation (#1922) 2025-05-30 16:17:56 +00:00
Trask Stalnaker f4ff5f4b02
Simplify auto spotless workflow (#1919) 2025-05-29 18:17:03 +00:00
Gregor Zeitlinger f597cbe4ab
Shared storage (#1912)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-28 23:53:02 +00:00
renovate[bot] fc6507e5e2
chore(deps): update plugin com.gradle.develocity to v4.0.2 (#1915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 06:06:27 +00:00
renovate[bot] 8871a07a11
fix(deps): update spotless packages to v7.0.4 (#1916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 02:19:04 +00:00
Pranav Sharma 1ea60283f9
Add metrics support to auth extension (#1891)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-27 22:27:34 +00:00
SylvainJuge d7185495de
add link to new jvm metrics for jmx-scraper (#1914) 2025-05-27 21:24:20 +00:00
renovate[bot] d169a753b3
fix(deps): update dependency io.opentelemetry.proto:opentelemetry-proto to v1.7.0-alpha (#1909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 21:23:51 +00:00
renovate[bot] 98f5f837dc
fix(deps): update dependency org.codehaus.groovy:groovy-bom to v3.0.25 (#1913)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 09:07:26 +00:00
renovate[bot] d2ebf96a6b
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.0 (#1910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 05:03:50 +00:00
renovate[bot] f59725bffd
chore(deps): update gradle/actions action to v4.4.0 (#1908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 05:02:54 +00:00
renovate[bot] 775c5adf7e
chore(deps): update dependency gradle to v8.14.1 (#1906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 06:45:49 +00:00
Trask Stalnaker 7b9925be4f
Remove unused dependency (#1905) 2025-05-21 17:49:42 +00:00
César dda8cbf9d9
Opamp client api (#1835) 2025-05-20 14:16:50 +00:00
renovate[bot] 0b1780df27
chore(deps): pin actions/download-artifact action to d3f86a1 (#1899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-19 22:42:01 +00:00
Trask Stalnaker 11c3dda26b
Add spotless auto-fix for PRs (#1890) 2025-05-19 21:06:32 +00:00
otelbot[bot] 858912df28
Update version to 1.48.0-SNAPSHOT (#1898)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-19 17:38:38 +00:00
Trask Stalnaker 62da4c9ced
Update change log for upcoming release (#1888)
Co-authored-by: Steve Rao <raozihao.rzh@alibaba-inc.com>
2025-05-19 16:55:15 +00:00
renovate[bot] 0073d20a54
chore(deps): update dependency markdownlint-cli to v0.45.0 (#1893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-05-19 16:39:18 +00:00
renovate[bot] d1beba98e3
chore(deps): update open-telemetry/assign-reviewers-action digest to cb42e3e (#1887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 06:56:11 +00:00
renovate[bot] 117eabb7df
chore(deps): update gradle/actions action to v4.4.0 (#1895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 04:49:59 +00:00
renovate[bot] edf87b1226
chore(deps): update fossas/fossa-action action to v1.7.0 (#1894)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 04:49:32 +00:00
renovate[bot] 3e2515164f
chore(deps): update github/codeql-action action to v3.28.18 (#1892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 04:48:53 +00:00
Trask Stalnaker 05a4eac804
Fix broken link (#1889) 2025-05-16 17:13:24 +00:00
renovate[bot] dba60a384f
fix(deps): update dependency org.apache.kafka:kafka-clients to v4 (#1802)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-05-16 14:37:58 +00:00
renovate[bot] 5a3c5f6cd1
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.16.0-alpha (#1886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-05-16 14:36:50 +00:00
Trask Stalnaker 60ffcf2b9c
Update renovate config (#1851)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-05-16 14:35:13 +00:00
renovate[bot] 55bd524d0c
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.35.0 (#1882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 07:20:06 +00:00
Jan Engehausen 34937d2e24
add option to record transferred artifacts (#1875)
Co-authored-by: Cyrille Le Clerc <cyrille.leclerc@grafana.com>
2025-05-15 14:37:48 +00:00
jason plumb b897a0ec76
Lychee / markdown link check - set max concurrency (#1884) 2025-05-14 02:11:00 +00:00
Jay DeLuca 7445910478
Update cassandra link (#1885) 2025-05-14 00:45:17 +00:00
renovate[bot] bd739679ea
fix(deps): update micrometer to v1.15.0 (#1883)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 07:37:30 +00:00
renovate[bot] 4e8db837c1
chore(config): migrate renovate config (#1881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-05-13 01:54:23 +00:00
OpenTelemetry Bot 9b8178d1ce
Update Renovate configuration (#1880)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-05-12 21:58:12 +00:00
renovate[bot] fc9d836f0b
fix(deps): update micrometer to v1.14.7 (#1879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 13:47:15 +00:00
renovate[bot] 22daafd325
chore(deps): update lycheeverse/lychee-action action to v2.4.1 (#1878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 05:03:22 +00:00
renovate[bot] e047c1ae62
chore(deps): update weekly update (#1876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 20:24:41 +00:00
Jonas Kunz 4ae092cf6a
Upgrade async-profiler to 4.0 in inferred spans feature (#1872) 2025-05-06 02:02:37 +00:00
renovate[bot] d8c3f95e14
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.7-3 (#1873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 02:01:28 +00:00
renovate[bot] 3fc4309a4a
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.34.0 (#1871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 05:25:54 +00:00
renovate[bot] e437944860
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.7 (#1870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-30 10:56:32 +00:00
renovate[bot] 5971fcc6f7
chore(deps): update plugin ru.vyarus.animalsniffer to v2.0.1 (#1869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 02:08:46 +00:00
renovate[bot] 32c6de1c84
chore(deps): update plugin com.gradle.develocity to v4.0.1 (#1867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 18:03:15 +00:00
renovate[bot] aaf822c38a
chore(deps): update dependency gradle to v8.14 (#1866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 17:27:18 +00:00
renovate[bot] 451f9bf95b
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.19.0 (#1865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 06:53:01 +00:00
renovate[bot] a096565d4e
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.4.5 (#1864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 15:07:15 +00:00
renovate[bot] 9076a8bfc4
fix(deps): update testcontainers-java monorepo to v1.21.0 (#1862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 07:04:46 +00:00
Pranav Sharma c253efa539
GCP Auth: update header injection implementation (#1860) 2025-04-23 18:33:44 +00:00
renovate[bot] fc199eb190
fix(deps): update errorprone packages to v2.38.0 (#1859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-04-21 16:08:27 +00:00
renovate[bot] 806d540045
fix(deps): update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.2.0 (#1858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 20:25:28 +00:00
jackshirazi 017bf8777c
add jackshirazi as component owner for opamp-client (#1857) 2025-04-17 13:07:18 +00:00
Trask Stalnaker 30265cd40a
Fix link exclusion (#1856) 2025-04-16 21:22:38 +00:00
renovate[bot] b29e9cbcc8
fix(deps): update dependency io.grpc:grpc-netty-shaded to v1.72.0 (#1854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 19:49:21 +00:00
renovate[bot] ca69001f42
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.32.5 (#1853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 10:04:06 +00:00
Trask Stalnaker 13c94405ad
Remove unneeded opentelemetrybot from script (#1852) 2025-04-14 23:46:58 +00:00
renovate[bot] 1defd8a965
fix(deps): update dependency com.google.guava:guava-bom to v33.4.8-jre (#1850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 18:25:22 +00:00
Trask Stalnaker 7fbfeb2ab5
Update repo settings (#1846) 2025-04-14 18:13:25 +00:00
Pranav Sharma d4f9c1e3f4
Specify optional configuration for gcp-auth-extension (#1845) 2025-04-14 16:53:59 +00:00
renovate[bot] 95c17fe822
fix(deps): update micrometer to v1.14.6 (#1849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 16:32:47 +00:00
renovate[bot] 7b95733bf2
chore(deps): update weekly update (#1848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 16:07:36 +00:00
Trask Stalnaker 14efda12f6
Disable CodeQL on merge queue (#1847) 2025-04-14 16:05:02 +00:00
Trask Stalnaker 0f65ece890
Configure workflows to support merge queues (#1720) 2025-04-11 15:04:42 -07:00
renovate[bot] 0a121fc089
fix(deps): update dependency org.junit:junit-bom to v5.12.2 (#1841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 14:52:25 -07:00
otelbot[bot] ddfe0d35c3
Update version to 1.47.0-SNAPSHOT (#1843) 2025-04-11 17:55:32 +00:00
Trask Stalnaker 2fe0301087
Update change log for upcoming release (#1842) 2025-04-11 10:46:11 -07:00
renovate[bot] 0154bd1387
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.15.0-alpha (#1839) 2025-04-10 17:37:39 -07:00
oliver zhang e009336016
add logs filtering (#1823) 2025-04-09 12:08:45 -07:00
renovate[bot] b3fbfe3888
chore(deps): update plugin com.gradle.develocity to v4 (#1837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 08:08:54 +03:00
renovate[bot] 67220b0f2d
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.32.4 (#1834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 13:48:39 -07:00
renovate[bot] d6cdd3e810
fix(deps): update dependency com.google.guava:guava-bom to v33.4.7-jre (#1836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 12:25:41 -07:00
renovate[bot] 5aa878193c
fix(deps): update spotless packages to v7.0.3 (#1833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 10:02:24 +03:00
renovate[bot] f0fadf0c2b
chore(deps): update lycheeverse/lychee-action action to v2.4.0 (#1831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 06:27:32 +00:00
renovate[bot] a79c3ee79d
chore(deps): update actions/create-github-app-token action to v2 (#1832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 09:26:44 +03:00
renovate[bot] 673e45eacd
fix(deps): update dependency org.owasp:dependency-check-gradle to v12.1.1 (#1830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-06 12:45:07 +03:00
Edoardo Causarano d5790ebc55
removed the deprecated and unused bare Predicate. (#1828) 2025-04-03 19:13:09 +01:00
renovate[bot] 8405e30819
fix(deps): update semconvversion (#1826)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 08:22:26 +03:00
renovate[bot] 40c3ab55a4
fix(deps): update dependency com.google.guava:guava-bom to v33.4.6-jre (#1817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 09:53:47 +03:00
Lauri Tulmin 9ff34de29d
Fix jmx-metrics kafka test (#1822) 2025-04-01 09:31:05 +03:00
renovate[bot] 8a09f8b250
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.5 (#1821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 14:06:50 +03:00
renovate[bot] bc4348d974
chore(deps): update weekly update (#1820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 09:21:37 +03:00
renovate[bot] afc3568016
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.6 (#1818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 07:48:22 +02:00
renovate[bot] f3876c021c
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.4 (#1815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 09:27:57 +02:00
renovate[bot] cb666e44fd
chore(deps): update weekly update (#1816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 09:25:43 +02:00
renovate[bot] c6d53b77e1
fix(deps): update dependency org.hipparchus:hipparchus-stat to v4.0.1 (#1814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 16:21:50 -07:00
Lauri Tulmin 2eccd3200b
Group renovate updates for hipparchus and errorprone (#1810) 2025-03-21 16:12:23 -07:00
renovate[bot] aeade81452
fix(deps): update dependency com.google.errorprone:error_prone_core to v2.37.0 (#1805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-03-21 15:32:41 -07:00
renovate[bot] 47076186a0
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.3 (#1813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 15:30:44 -07:00
renovate[bot] 1e8c9a39b5
fix(deps): update dependency org.hipparchus:hipparchus-core to v4.0.1 (#1811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 15:30:03 -07:00
renovate[bot] 354dc82ffe
fix(deps): update dependency org.hipparchus:hipparchus-stat to v4 (#1807)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 07:50:46 +00:00
renovate[bot] 0caea40bc2
fix(deps): update dependency com.google.errorprone:error_prone_annotations to v2.37.0 (#1804)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 09:43:52 +02:00
renovate[bot] 82372b7d53
fix(deps): update dependency org.hipparchus:hipparchus-core to v4 (#1806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 09:42:26 +02:00
renovate[bot] 2936dfbc68
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.4.4 (#1809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 09:33:27 +02:00
renovate[bot] f013ec31da
fix(deps): update dependency com.google.guava:guava-bom to v33.4.5-jre (#1808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 10:22:29 +02:00
renovate[bot] 93149757c2
chore(deps): update dependency com.google.cloud.tools:jib-maven-plugin to v3.4.5 (#1800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 09:53:11 +02:00
renovate[bot] e5fcba07f0
fix(deps): update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.34.0 (#1801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 09:28:43 +02:00
renovate[bot] c7cd15f066
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.32.3 (#1799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-17 10:14:51 +02:00
renovate[bot] 8e63ae5aef
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.7-2 (#1798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-17 09:25:31 +02:00
otelbot[bot] 0c445ec562
Update version to 1.46.0-SNAPSHOT (#1797)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-03-14 11:12:57 -07:00
Trask Stalnaker e65f4960ba
Update changelog for upcoming release (#1792) 2025-03-14 11:04:30 -07:00
Trask Stalnaker c9b1312855
Update renovate rate limit (#1794) 2025-03-14 11:04:02 -07:00
Trask Stalnaker 43b7618375
Disable sporadically failing test for now (#1795) 2025-03-14 10:09:09 -07:00
jack-berg f183c87b95
Fix compilation errors due to declarative config breaking changes (#1784)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-03-14 09:17:53 -07:00
renovate[bot] e42b000c2e
fix(deps): update dependency org.junit:junit-bom to v5.12.1 (#1791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-14 14:52:41 +00:00
renovate[bot] 0e3861a7da
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.32.2 (#1790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-14 07:46:53 -07:00
renovate[bot] 226758b9c0
fix(deps): update micrometer to v1.14.5 (#1787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-14 07:35:51 -07:00
SylvainJuge 4ac3ed10a9
jmx-scraper test config sources (#1750) 2025-03-13 08:04:18 -07:00
SylvainJuge 99f80e450e
jmx reuse instrumentation metrics (#1782) 2025-03-12 11:21:53 -07:00
César 2b31033720
Diskbuffering configuration package (#1781) 2025-03-10 09:36:48 -07:00
renovate[bot] ed5e5bd15f
chore(deps): update github/codeql-action action to v3.28.11 (#1786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 09:29:42 +02:00
renovate[bot] d2cdd2910f
chore(deps): update dependency gradle to v8.13 (#1766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2025-03-07 13:18:01 -08:00
SylvainJuge 96dad3ed06
processors: remove {} as #6891 follow-up (#1783) 2025-03-06 08:15:33 -08:00
Pranav Sharma eaeaeb95a4
Add instructions for Auth Extension shadow variant (#1764) 2025-03-06 07:19:27 -08:00
renovate[bot] 9f40e41b09
chore(deps): update plugin com.squareup.wire to v5.3.1 (#1780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 07:21:22 -08:00
renovate[bot] f7d3cfb46f
fix(deps): update testcontainers-java monorepo to v1.20.6 (#1777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 08:42:41 +02:00
renovate[bot] d7d0b9faeb
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.32.0 (#1779)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 08:42:14 +02:00
renovate[bot] a87f4c9547
fix(deps): update dependency io.grpc:grpc-netty-shaded to v1.71.0 (#1776)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 13:33:09 -08:00
renovate[bot] dae9543fd7
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.13.3-alpha (#1769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 13:41:52 +02:00
renovate[bot] 7cf5404b76
chore(deps): update actions/create-github-app-token action to v1.11.6 (#1774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 13:41:31 +02:00
renovate[bot] 4e7f0de705
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.18.3 (#1773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 13:38:04 +02:00
renovate[bot] 945a2ef14b
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.4 (#1771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 13:37:42 +02:00
renovate[bot] 7a0e505a4e
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.2 (#1775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 13:37:14 +02:00
renovate[bot] 14b73128a6
fix(deps): update dependency org.codehaus.groovy:groovy-bom to v3.0.24 (#1770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 07:51:40 +02:00
renovate[bot] e3a2d5c46b
fix(deps): update slf4j monorepo to v2.0.17 (#1768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 07:42:31 +02:00
renovate[bot] d4125ec723
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.33.1 (#1767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 07:42:09 +02:00
renovate[bot] 2dcb26b4df
chore(deps): update weekly update (#1763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 13:57:58 +02:00
renovate[bot] dc020cc456
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.33.0 (#1765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 09:58:32 +02:00
Trask Stalnaker 80adbe1cf8
Fix sporadic test failure (#1660) 2025-02-22 09:05:52 -08:00
renovate[bot] e26d2cf08f
fix(deps): update dependency org.junit:junit-bom to v5.12.0 (#1758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-22 03:06:48 +00:00
renovate[bot] 9dbb7f1680
fix(deps): update dependency org.awaitility:awaitility to v4.3.0 (#1757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 18:48:54 -08:00
otelbot[bot] 77ca1ad0cf
Update version to 1.45.0-SNAPSHOT (#1759)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-02-21 22:03:32 +00:00
Karsten Schnitter 2858a2c66b
Add CloudFoundry Resource Provider (#1613)
Signed-off-by: Karsten Schnitter <k.schnitter@sap.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-21 21:17:14 +00:00
Trask Stalnaker 539e0ef688
Update change log for upcoming release (#1746) 2025-02-21 13:03:30 -08:00
renovate[bot] 4ff90552aa
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.7-1 (#1751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 11:56:31 -08:00
SylvainJuge 023c02b4ab
jmx-scraper replicate and document jmxmp/sasl config (#1749) 2025-02-21 11:55:28 -08:00
renovate[bot] 453c0c12a1
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.13.1-alpha (#1753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 11:54:36 -08:00
Richard Chukwu 15be8178f6
Improve Contributing Guide (#1680)
Co-authored-by: Jay DeLuca <jaydeluca4@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-21 10:46:27 -08:00
renovate[bot] b079b133de
fix(deps): update dependency org.testcontainers:kafka to v1.20.5 (#1756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 07:30:46 +02:00
Trask Stalnaker 2ae70759ff
Remove static instrumenter module (#1755) 2025-02-20 13:19:45 -08:00
renovate[bot] fb98ed26c5
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.13.0-alpha (#1736) 2025-02-20 08:54:55 -08:00
renovate[bot] 3af0b8ecea
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.4.3 (#1752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 08:32:10 -08:00
renovate[bot] 5c6be9de3e
fix(deps): update dependency org.testcontainers:testcontainers-bom to v1.20.5 (#1747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 09:45:27 +02:00
SylvainJuge 4ce7187391
jmx-scraper add ssl support (#1710) 2025-02-19 13:51:42 -08:00
renovate[bot] 572575e7b7
chore(config): migrate renovate config (#1740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-19 07:16:40 -08:00
SylvainJuge f1ea742f99
jmx-scraper add missing custom yaml support (#1741) 2025-02-19 06:53:06 -08:00
renovate[bot] 79ba066f64
fix(deps): update dependency io.opentelemetry.semconv:opentelemetry-semconv to v1.30.0 (#1745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 15:24:01 -08:00
Steve Liu e0cdc569e0
Support for Lineage in XRay Trace Header and removing additional Baggage from being added (#1671) 2025-02-18 14:57:06 -08:00
Trask Stalnaker 6e411e659a
Update Java test matrix (#1742) 2025-02-18 13:56:26 -08:00
renovate[bot] 96a34e3f6a
chore(deps): update plugin com.gradle.develocity to v3.19.2 (#1744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 13:02:57 -08:00
renovate[bot] b3f93ad580
chore(deps): update actions/create-github-app-token action to v1.11.5 (#1739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-16 18:57:56 -08:00
renovate[bot] a52809ad43
fix(deps): update dependency org.owasp:dependency-check-gradle to v12.1.0 (#1738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-16 18:37:00 -08:00
jason plumb cfaa97a490
Change deprecated method name for spotless (#1735) 2025-02-14 13:45:41 -08:00
Robert Niedziela b92a465bc8
JMX Scraper: Kafka server, producer and consumer YAMLs and integration tests added (#1670) 2025-02-14 09:01:21 -08:00
renovate[bot] a5e9082385
chore(deps): update plugin com.squareup.wire to v5.3.0 (#1733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-14 14:08:36 +02:00
renovate[bot] 331f6052b4
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.1 (#1732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-14 14:07:52 +02:00
Trask Stalnaker b3af09ee84
Update FOSSA badges (#1730) 2025-02-13 08:30:37 -08:00
Trask Stalnaker aa90fa25bd
Add FOSSA team (#1731) 2025-02-13 06:05:10 -08:00
Trask Stalnaker 20673f8247
Add FOSSA badges (#1724) 2025-02-12 11:12:26 -08:00
Trask Stalnaker 218623b2ff
Less frequent Renovate (#1729) 2025-02-12 05:58:59 -08:00
renovate[bot] be72231f79
fix(deps): update micrometer to v1.14.4 (#1727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 14:42:08 -08:00
SylvainJuge 4ed5a1432f
jmx scraper connection test (#1684) 2025-02-10 10:28:39 -08:00
Trask Stalnaker e0db18eb22
chmod renamed script (#1725) 2025-02-10 07:45:28 -08:00
Trask Stalnaker da490c40b9
Switch automation to use new otelbot GitHub App (#1721) 2025-02-10 05:15:55 -08:00
Trask Stalnaker 36ab34f825
Artifact Hub exemption (#1719) 2025-02-10 05:15:32 -08:00
Trask Stalnaker 59d248267e
Add FOSSA license scanning (#1718) 2025-02-10 05:13:40 -08:00
renovate[bot] 92afa67be3
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.6-10 (#1723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 09:18:28 +02:00
renovate[bot] 2afd376e95
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.32.1 (#1716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 09:18:09 +02:00
renovate[bot] 735e39f121
chore(deps): update github/codeql-action action to v3.28.9 (#1722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-09 18:48:58 -08:00
Trask Stalnaker e28de1a3e0
Remove unneeded workflow config (#1714) 2025-02-07 12:48:59 -08:00
renovate[bot] 422c4a1c2b
chore(deps): update dependency io.snyk:snyk-maven-plugin to v2.3.0 (#1715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 20:18:03 +00:00
Trask Stalnaker 53c273d250
Update repo settings doc (#1713) 2025-02-07 12:10:26 -08:00
renovate[bot] 7431248f54
chore(deps): update dependency com.google.cloud.tools:jib-maven-plugin to v3.4.4 (#1712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 10:45:13 -08:00
renovate[bot] 1e9d506831
fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.4.2 (#1711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 10:44:33 -08:00
Trask Stalnaker d0b12d8512
Update test dependencies (#1709) 2025-02-07 10:35:42 -08:00
renovate[bot] ebe78ff1b4
chore(deps): update dependency markdownlint-cli to v0.44.0 (#1708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 19:28:29 -08:00
Trask Stalnaker 9c38680126
Restrict token permissions (#1706) 2025-02-06 19:22:28 -08:00
Trask Stalnaker a801a43c86
Change maven dependencies to compileOnly (#1707) 2025-02-06 19:19:15 -08:00
Trask Stalnaker 5cdcd59fcd
Suppress false positive OWASP violation (#1705) 2025-02-06 19:19:00 -08:00
Trask Stalnaker 01f7d32de6
Fix workflow notifications (#1703) 2025-02-06 11:32:13 -08:00
StepSecurity Bot 3aa5488989
[StepSecurity] ci: Harden GitHub Actions (#1702)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2025-02-06 11:15:08 -08:00
Trask Stalnaker 2c8ea61bc0
Add owasp dependency check workflow (#1701) 2025-02-06 09:33:11 +02:00
Trask Stalnaker 0c1bb9aab7
Add OSSF scorecard badge (#1694) 2025-02-06 09:32:24 +02:00
Trask Stalnaker 45dc94ea61
Back to weekly schedule (#1700) 2025-02-06 09:31:13 +02:00
Trask Stalnaker 3e332acd18
Fix scorecard analysis (#1699) 2025-02-05 17:03:04 -08:00
renovate[bot] f6106a77c7
chore(deps): update gradle/actions action to v4.3.0 (#1696)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-05 17:00:24 -08:00
StepSecurity Bot 69fc24ac67
[StepSecurity] ci: Harden GitHub Actions (#1698)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2025-02-05 16:56:30 -08:00
Trask Stalnaker 5ac63800fd
Update renovate config (#1697) 2025-02-05 16:46:10 -08:00
Trask Stalnaker f3ec89caec
Run CodeQL on PRs (#1690) 2025-02-05 16:24:35 -08:00
renovate[bot] 4153e5b579
chore(deps): pin rmohr/activemq docker tag to b5669f1 (#1695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-05 16:22:05 -08:00
Trask Stalnaker 54e7e5be60
Always run gradle wrapper validation (#1693) 2025-02-05 16:17:37 -08:00
Trask Stalnaker 7986fa93dc
Run OSSF scorecard (#1692) 2025-02-05 16:16:20 -08:00
Trask Stalnaker 4af0ec7b7c
Pin github actions and docker images (#1691) 2025-02-05 16:15:00 -08:00
Trask Stalnaker a7876ca243
Sign releases (#1686) 2025-02-05 06:57:22 -08:00
renovate[bot] 97b6ae0b77
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.32.0 (#1689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-05 07:42:56 +02:00
jason plumb 4a215393be
[baggage-processor] Change description to fit purpose (#1685)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-04 14:25:29 -08:00
Pranav Sharma e3ac19fc79
Update publishing for GCP Auth Extension (#1688) 2025-02-04 13:26:51 -08:00
Robert Niedziela d2a97f4f48
JMX Scraper: YAML file and integration test hadoop (#1675)
Co-authored-by: Magda Wojtowicz <mwojtowicz@splunk.com>
2025-02-03 15:38:39 -08:00
renovate[bot] a2bb444d83
chore(deps): update plugin me.champeau.jmh to v0.7.3 (#1682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-30 15:54:11 +02:00
renovate[bot] 92ec93c4bc
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.17.0 (#1683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-30 15:53:52 +02:00
SylvainJuge 1615862cee
jmx scraper align custom yaml config (#1678) 2025-01-29 09:35:44 -08:00
Cyrille Le Clerc 4cd6a0a777
Maven 4.0 compatibility. Stop using `o.a.m.rtinfo.internal.DefaultRuntimeInformation` (#1679) 2025-01-28 16:13:45 -08:00
renovate[bot] a334a79dc8
fix(deps): update semconvversion (#1677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 12:56:34 -08:00
Trask Stalnaker 84dd8191fb
Remove unused dependencies (#1676) 2025-01-27 17:12:53 -08:00
renovate[bot] 067f547d69
chore(deps): update dependency gradle to v8.12.1 (#1673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 11:49:41 -08:00
jason plumb 6e24f35ccb
[disk-buffering] Simplify MetricToDiskExporter creation (#1672) 2025-01-27 11:06:15 -08:00
SylvainJuge 3db20f7bc4
jmx scraper with sdk autoconfig (#1651) 2025-01-27 09:04:15 -08:00
renovate[bot] ca282f2e79
chore(deps): update plugin ru.vyarus.animalsniffer to v2 (#1674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 08:45:27 -08:00
Arun Annamalai 782b540b3b
add xray-lambda configurable propagator to autoconfigure spi (#1669) 2025-01-23 14:11:19 -08:00
renovate[bot] 8137c72b18
chore(deps): update plugin com.gradle.develocity to v3.19.1 (#1667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 15:38:16 +02:00
renovate[bot] fafb86aec5
fix(deps): update dependency com.google.auth:google-auth-library-oauth2-http to v1.31.0 (#1666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 15:32:45 -08:00
Trask Stalnaker 2a4d37afe2
Show stdout in tests (#1661) 2025-01-22 15:26:02 -08:00
Trask Stalnaker 808b769cc5
Add test to required PR checks (#1659) 2025-01-22 15:25:38 -08:00
Jonas Kunz 581295361f
Fix invalid docs on inferred spans profiler logging option (#1663) 2025-01-22 07:36:07 -08:00
renovate[bot] 1f13340083
fix(deps): update dependency io.grpc:grpc-bom to v1.70.0 (#1664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 16:06:31 +02:00
renovate[bot] 258befe037
fix(deps): update dependency org.assertj:assertj-core to v3.27.3 (#1658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-19 19:08:09 -08:00
renovate[bot] 7cc0189833
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.16.1 (#1657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-19 18:45:53 -08:00
renovate[bot] 8e2cd39852
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.16.0 (#1656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 16:29:37 -08:00
Trask Stalnaker 31d1443017
Remove unnecessary workflow config (#1653) 2025-01-17 12:07:20 -08:00
OpenTelemetry Bot 512d0854fe
Update version to 1.44.0-SNAPSHOT (#1655) 2025-01-17 19:09:24 +00:00
Trask Stalnaker 6a66cacb56
Update changelog for upcoming release (#1652) 2025-01-17 10:58:18 -08:00
Gregor Zeitlinger c19a97334a
Azure resource providers (#1228)
Co-authored-by: heyams <heya@microsoft.com>
2025-01-17 08:46:21 -08:00
renovate[bot] 1b006501c0
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.12.0-alpha (#1650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-01-17 07:56:05 -08:00
renovate[bot] 6ff8600f6c
fix(deps): update dependency io.grpc:grpc-bom to v1.69.1 (#1649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 09:39:48 +02:00
Pranav Sharma 72dc156391
GCP Auth extension - allow users to specify quota project ID (#1647) 2025-01-16 14:04:05 -08:00
renovate[bot] c00f094556
fix(deps): update spotless packages to v7.0.2 (#1646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 15:53:27 -08:00
Pranav Sharma 23119a9d66
Add GCP components to the issue templates (#1644) 2025-01-14 14:38:58 -08:00
renovate[bot] eed18063b4
fix(deps): update micrometer packages to v1.14.3 (#1643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 09:47:23 -08:00
renovate[bot] a094efc1c6
fix(deps): update dependency net.ltgt.gradle:gradle-nullaway-plugin to v2.2.0 (#1642) 2025-01-12 13:01:59 -08:00
Trask Stalnaker 92f84e69de
Pin Spring Boot 2.x for GCP auth extension testing (#1641) 2025-01-10 15:03:06 -08:00
renovate[bot] 09ab59b79f
fix(deps): update dependency io.opentelemetry.proto:opentelemetry-proto to v1.5.0-alpha (#1638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 14:50:08 -08:00
renovate[bot] d9cddcc647
chore(deps): update plugin com.squareup.wire to v5.2.1 (#1637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 12:44:44 -08:00
Pranav Sharma 7480d43b1f
Add GCP authentication extension (#1631) 2025-01-10 12:05:10 -08:00
renovate[bot] deb9746f80
fix(deps): update spotless packages to v7 (major) (#1639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 07:42:58 -08:00
Pranav Sharma 239e6a8fd2
Update documentation around detecting k8s resource attributes (#1621) 2025-01-07 19:13:12 -08:00
Cyrille Le Clerc 6069c1df8b
Update README.md to put the emphasis on SDK Auto Configuration (#1627) 2025-01-06 10:52:52 -08:00
Cyrille Le Clerc ec755da378
Update README.md to better document the log record enricher (#1626) 2025-01-06 10:46:24 -08:00
renovate[bot] aefc3a3f84
fix(deps): update dependency org.assertj:assertj-core to v3.27.2 (#1617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 18:44:21 +00:00
renovate[bot] 17a01f1884
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.3 (#1635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 10:35:03 -08:00
Trask Stalnaker f69f453a79
Update component_owners.yml (#1628) 2025-01-06 10:32:05 -08:00
Peter Findeisen ac36bb6ede
Improving inter-operation with legacy samplers (#1629) 2025-01-06 10:31:11 -08:00
renovate[bot] 7a01c8c56e
chore(deps): update plugin com.squareup.wire to v5.2.0 (#1634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 10:19:38 -08:00
renovate[bot] 59355babef
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.6-9 (#1630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 10:17:37 -08:00
renovate[bot] 6d3a142cf3
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.11.0-alpha (#1622) 2024-12-24 11:15:53 -08:00
Trask Stalnaker 0d775871f4
Fix flaky test (#1623) 2024-12-24 10:27:18 -08:00
Trask Stalnaker b600c74e85
Fix flaky MicrometerDoubleCounterTest (#1625) 2024-12-24 10:27:06 -08:00
renovate[bot] f3b7877c09
chore(deps): update dependency gradle to v8.12 (#1618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 20:39:18 +00:00
Trask Stalnaker 7febaa8168
Change link checking from markdown-link-check to lychee (#1570) 2024-12-20 12:37:28 -08:00
Trask Stalnaker 889cb35050
Bring back test retry for JMX Scraper tests (#1619) 2024-12-20 12:36:21 -08:00
Trask Stalnaker 16222fe189
Inline incubating semconv attributes (#1604) 2024-12-19 07:22:32 -08:00
renovate[bot] 2d14db9503
fix(deps): update semconvversion to v1.29.0-alpha (#1616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 18:44:36 -08:00
Robert Niedziela 426adfcc66
Fix HBase test flakiness (#1615) 2024-12-18 08:41:06 -08:00
renovate[bot] 49d738d652
fix(deps): update dependency com.google.guava:guava-bom to v33.4.0-jre (#1611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-12-17 22:11:20 +00:00
Robert Niedziela be9aee0b69
Improve containers startup and increase max duration of test (#1612) 2024-12-17 09:24:05 -08:00
SylvainJuge 5257aa0635
[jmx-scraper] add support for Solr (#1595) 2024-12-16 15:18:20 -08:00
renovate[bot] 3a16d3031e
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.11 (#1606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 13:51:55 -08:00
Gregor Zeitlinger d06d470d06
increase timeout for tests - to tolerate high loads (#1607) 2024-12-16 07:41:03 -08:00
renovate[bot] 6cf3b19018
fix(deps): update dependency org.junit:junit-bom to v5.11.4 (#1608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 15:30:01 +00:00
Trask Stalnaker 6595228b96
Revert "Change to release after SDK and before Instrumentation (#1581)" (#1603) 2024-12-14 08:44:13 -08:00
Trask Stalnaker d7889a9769
Update 1.41.0 change log with missing items (#1597) 2024-12-13 10:38:06 -08:00
OpenTelemetry Bot cd32fec3ef
Update version to 1.43.0-SNAPSHOT (#1598) 2024-12-13 09:10:18 -08:00
renovate[bot] 065e7559e0
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.2 (#1600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:08:34 -08:00
Trask Stalnaker 951d5a3171
Update change log for upcoming release (#1596) 2024-12-13 08:23:27 -08:00
renovate[bot] 24d12b3af5
fix(deps): update dependency io.opentelemetry:opentelemetry-bom-alpha to v1.45.0-alpha (#1584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 11:47:18 -08:00
renovate[bot] 0ff1851ecf
chore(deps): update plugin com.gradle.develocity to v3.19 (#1594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 11:31:33 -08:00
Trask Stalnaker 5b0e7691ea
Update semconv dependency version (#1585) 2024-12-12 08:48:13 -08:00
Cyrille Le Clerc 9ad072c556
[baggage-processor] Add BaggageLogRecordProcessor (#1576)
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
2024-12-12 08:47:44 -08:00
SylvainJuge f4ccd2af05
publish jmx scraper artifact (#1586) 2024-12-12 08:46:32 -08:00
Cyrille Le Clerc 9cf28ad6fe
Workaround `NoClassDefFoundError` in `@PreDestroy` waiting for MNG-7056 (#1431) 2024-12-11 08:43:01 -08:00
SylvainJuge fa217e54c3
[jmx-scraper] fix JVM units + simplify tests (#1593) 2024-12-11 06:36:25 -08:00
Robert Niedziela 10efe16ed9
[jmx-scraper] Assertions refactoring - Tomcat integration test converted (#1589)
Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2024-12-11 06:35:13 -08:00
Robert Niedziela 6c3add9517
[jmx-scraper] Update Cassandra units to match semconv (#1591) 2024-12-11 06:33:55 -08:00
renovate[bot] 10e8994151
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.31.3 (#1592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 12:29:28 +02:00
renovate[bot] b149716c31
fix(deps): update dependency io.grpc:grpc-bom to v1.69.0 (#1590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-10 12:21:08 -08:00
SylvainJuge f9774f329b
[jmx-scraper] wildfly refactor assertions (#1587) 2024-12-10 12:11:24 -08:00
renovate[bot] 27643de13a
fix(deps): update micrometer packages to v1.14.2 (#1588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-10 14:38:49 +02:00
Cyrille Le Clerc bfd739042d
Load OTel SDK config from environment variables and system properties.… (#1434) 2024-12-09 11:30:52 -08:00
Trask Stalnaker 2b6625ef8a
Update develocity configuration (#1567) 2024-12-09 07:17:18 -08:00
Trask Stalnaker f798481818
Fix renovate not updating SDK (#1582) 2024-12-09 07:13:06 -08:00
Trask Stalnaker 2b46b8c1e7
Change to release after SDK and before Instrumentation (#1581) 2024-12-08 07:15:45 -08:00
Robert Niedziela cd9c7d2d2e
Assertions refactoring (#1580)
Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2024-12-06 07:32:38 -08:00
renovate[bot] c5948f6b2d
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.31.2 (#1579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 14:22:01 -08:00
renovate[bot] 3f6ac3ed0f
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.18.2 (#1574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 10:55:03 -08:00
renovate[bot] 596a965d74
fix(deps): update dependency io.grpc:grpc-bom to v1.68.2 (#1575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 10:54:32 -08:00
Robert Niedziela a713492cda
Assertions refactoring (#1566)
Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
2024-12-02 09:27:42 -08:00
César b2f04ab9ed
Deserialization validation (#1571) 2024-11-27 10:10:59 -08:00
Robert Niedziela 1fa07602fe
Added jmx-scraper component to GH issue templates (#1572) 2024-11-26 09:05:04 -08:00
Robert Niedziela 1d7f4824b3
JMX Scraper - YAML config and integration test for HBase (#1538) 2024-11-25 09:16:34 -08:00
Trask Stalnaker 436b166585
Remove outdated commented out code (#1568) 2024-11-24 09:22:03 +02:00
renovate[bot] 66f07b9f63
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.6-8 (#1569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-24 09:17:40 +02:00
renovate[bot] 6ea7309598
fix(deps): update dependency io.opentelemetry.proto:opentelemetry-proto to v1.4.0-alpha (#1564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-22 07:58:27 -08:00
renovate[bot] d06b99f9ca
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.31.1 (#1565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-11-22 07:45:24 -08:00
OpenTelemetry Bot 174f443242
Update version to 1.42.0-SNAPSHOT (#1563) 2024-11-20 16:52:25 -08:00
Trask Stalnaker f342cd3dbb
Update change log for upcoming release (#1561) 2024-11-20 16:36:34 -08:00
Jonas Kunz 6ca397a839
Allow customization of parent-override behaviour for inferred-spans (#1533) 2024-11-20 15:45:20 -08:00
jack-berg 4c72e59721
Add LogRecordProcessor to record event log records as span events (#1551) 2024-11-20 15:43:36 -08:00
renovate[bot] c2f8c17c45
chore(deps): update dependency gradle to v8.11.1 (#1559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 11:31:41 -08:00
renovate[bot] 905c82af90
fix(deps): update testcontainers-java monorepo to v1.20.4 (#1560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 11:31:20 -08:00
SylvainJuge 33719e1b53
[jmx-scraper] pin servlet 5.x version (#1558) 2024-11-20 07:13:12 -08:00
renovate[bot] c9c3f5cd75
fix(deps): update dependency io.opentelemetry.proto:opentelemetry-proto to v1.3.2-alpha (#1557) 2024-11-20 06:56:23 -08:00
Trask Stalnaker a12ab631f0
Add gradle `otel.java-conventions` where missing (#1555) 2024-11-19 22:23:11 -08:00
Trask Stalnaker 035d0c84e6
Update proto alpha versions (#1556) 2024-11-19 22:22:38 -08:00
Robert Niedziela 857e4ae8c5
JMX Scraper - Invalid ActiveMQ units fixed (#1553) 2024-11-19 12:24:35 -08:00
renovate[bot] 41a07af284
fix(deps): update errorproneversion to v2.36.0 (#1552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 17:51:34 -08:00
renovate[bot] 5d530d21af
fix(deps): update micrometer packages to v1.14.1 (#1544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 20:02:01 +00:00
renovate[bot] f71173841f
fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.10.0-alpha (#1539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-11-18 11:59:09 -08:00
renovate[bot] 26db3d44c5
fix(deps): update dependency com.gradle.enterprise:com.gradle.enterprise.gradle.plugin to v3.18.2 (#1541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 11:58:52 -08:00
renovate[bot] 23d2e88365
chore(deps): update dependency gradle to v8.11 (#1535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Plumb <jplumb@splunk.com>
2024-11-18 11:25:56 -08:00
jason plumb 7465c837e2
fix deprecated use of retry{} (#1548) 2024-11-18 11:24:39 -08:00
Trask Stalnaker ba4994008b
Fix required status check (#1545) 2024-11-18 19:15:30 +00:00
Trask Stalnaker 9bb3e5fcf4
Revert "fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.31.0 (#1542)" (#1546) 2024-11-18 11:05:24 -08:00
renovate[bot] 20d8d6dd2c
chore(deps): update plugin com.gradle.develocity to v3.18.2 (#1540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 10:14:45 -08:00
renovate[bot] 0b7233e1da
fix(deps): update dependency com.linecorp.armeria:armeria-bom to v1.31.0 (#1542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-11-14 16:29:45 +00:00
SylvainJuge 74a3d786b0
add wildfly.yaml to JMX scraper (#1531) 2024-11-14 07:53:08 -08:00
renovate[bot] 6ea0fa4c6e
fix(deps): update micrometer packages to v1.14.0 (#1537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 14:04:32 -08:00
renovate[bot] ca2c14460b
fix(deps): update micrometer packages to v1.13.7 (#1536) 2024-11-11 15:04:31 -08:00
renovate[bot] e9f1ac89d5
fix(deps): update dependency org.codehaus.groovy:groovy-bom to v3.0.23 (#1534) 2024-11-08 06:51:29 -08:00
renovate[bot] b1f46bb03b
fix(deps): update dependency org.apache.kafka:kafka-clients to v3.9.0 (#1532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 15:53:45 -08:00
SylvainJuge df4960bced
Add jetty.yaml to JMX scraper (#1517) 2024-11-04 09:03:31 -08:00
renovate[bot] e0fbc717fc
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.10 (#1530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 09:45:25 +02:00
renovate[bot] 0a2166ef28
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.8 (#1529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-02 09:20:53 +02:00
renovate[bot] f05a039884
fix(deps): update testcontainers-java monorepo to v1.20.3 (#1528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 17:29:02 -07:00
Vincent Free 2a9da21970
Reimplemented renovate fixes and change testcontainers image (#1527) 2024-10-30 16:59:55 -07:00
renovate[bot] 8ae2a4bc33
fix(deps): update dependency org.apache.kafka:kafka-clients to v3.8.1 (#1525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 11:18:15 -07:00
renovate[bot] 15230a7b7a
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.6-7 (#1521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 09:13:36 +02:00
renovate[bot] b4c91566d0
fix(deps): update dependency io.grpc:grpc-bom to v1.68.1 (#1524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 09:13:13 +02:00
renovate[bot] 40c2a73c38
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.18.1 (#1523) 2024-10-28 19:39:58 -07:00
renovate[bot] 29be7f9f09
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.1 (#1522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 09:59:19 -07:00
Trask Stalnaker d4e0738ffd
Remove company names from emeriti (#1520) 2024-10-27 08:16:13 +02:00
renovate[bot] d1cc766de2
fix(deps): update errorproneversion to v2.35.1 (#1519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 11:53:48 -07:00
renovate[bot] 5afa9c835d
fix(deps): update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.15.1 (#1518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 11:53:26 -07:00
Robert Niedziela 2251a88a2f
Cassandra support and integration test added. (#1515) 2024-10-23 15:06:49 -07:00
renovate[bot] cdde090cde
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.7 (#1516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-23 13:12:32 +03:00
Steve Rao b364250fb6
Update README.md (#1513) 2024-10-21 09:12:03 -07:00
renovate[bot] 4df6d2bb6b
fix(deps): update dependency org.junit:junit-bom to v5.11.3 (#1514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 09:08:26 -07:00
renovate[bot] a8b64c56d7
fix(deps): update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.1.0 (#1512) 2024-10-20 12:50:58 -07:00
renovate[bot] c6631e331d
fix(deps): update dependency net.ltgt.gradle:gradle-nullaway-plugin to v2.1.0 (#1511) 2024-10-20 12:09:55 -07:00
renovate[bot] 5a790f2ae6
fix(deps): update dependency com.google.errorprone:error_prone_annotations to v2.34.0 (#1510) 2024-10-18 18:42:37 -07:00
renovate[bot] 541d5d8906
fix(deps): update dependency com.uber.nullaway:nullaway to v0.12.0 (#1509) 2024-10-18 18:41:42 -07:00
OpenTelemetry Bot 55bd8475e1
Update version to 1.41.0-SNAPSHOT (#1507) 2024-10-18 14:21:48 +00:00
Trask Stalnaker 011835a850
Update change log for upcoming release (#1506) 2024-10-18 07:13:12 -07:00
Robert Niedziela f8c7cb43f9
Integration test activemq (#1497)
Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
2024-10-18 07:12:09 -07:00
Trask Stalnaker e464516d8d
Update to Java Instrumentation 2.9.0 (#1505) 2024-10-18 07:10:42 -07:00
SylvainJuge ef0caea27e
span stacktrace refactor + autoconfig (#1499) 2024-10-17 07:40:30 -07:00
Peter Findeisen 193f1f53eb
Updating the README file (#1502) 2024-10-17 07:10:10 -07:00
renovate[bot] 4192794f53
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.5 (#1503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 14:54:49 +03:00
David Grieve 9e680116fa
jfr-connection: jfr-connection: wrong parameter sent to JFR DiagnosticCommand (#1492) 2024-10-16 08:20:27 -07:00
SylvainJuge dc66266936
Reuse JMX Insights in Scraper + Tomcat support (#1485) 2024-10-16 08:12:46 -07:00
Robert Niedziela b0aae230cc
Integration tests for JMX Scraper (#1480)
Co-authored-by: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com>
2024-10-15 19:56:39 -07:00
renovate[bot] ec5b64837a
fix(deps): update semconvversion to v1.28.0-alpha (#1498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-10-15 19:42:58 -07:00
renovate[bot] 7e81432e96
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.4 (#1490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 15:38:43 -07:00
Trask Stalnaker 26c31db412
Add Sylvain Juge as component owner for jmx-metrics (#1493) 2024-10-15 12:21:22 +03:00
renovate[bot] be97e0db27
fix(deps): update dependency io.micrometer:micrometer-core to v1.13.6 (#1496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 16:46:58 -07:00
renovate[bot] 6ed999e66f
fix(deps): update dependency io.micrometer:micrometer-registry-prometheus to v1.13.6 (#1495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 16:22:01 -07:00
Trask Stalnaker b3058721d1
List component owners on jmx-scraper README (#1494) 2024-10-14 08:46:28 -07:00
renovate[bot] d754367635
fix(deps): update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.33.0 (#1489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 12:09:51 -07:00
Jonathan Lee 7bb0a73107
Ensure all XRay Sampler functionality is under ParentBased logic (#1488) 2024-10-07 09:48:51 -07:00
Steve Rao a0d3e6869f
Rename param and description to proper value (#1486) 2024-10-04 10:37:19 -07:00
renovate[bot] 71ea1d5fd3
fix(deps): update dependency org.junit:junit-bom to v5.11.2 (#1487) 2024-10-04 07:05:02 -07:00
renovate[bot] e6256339a8
fix(deps): update micrometer packages to v1.13.5 (#1484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-02 09:25:47 +03:00
renovate[bot] d4c6e8b04f
fix(deps): update errorproneversion to v2.33.0 (#1483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Plumb <jplumb@splunk.com>
2024-10-01 16:37:07 -07:00
Trask Stalnaker 6bf15df5f3
Fix renovate config (#1479) 2024-09-27 09:30:41 -07:00
SylvainJuge 704421fd6b
[WIP] JMX scraper (#1445) 2024-09-27 07:12:20 -07:00
renovate[bot] 5699d83dfc
fix(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.18.0 (#1478) 2024-09-27 06:59:50 -07:00
Trask Stalnaker d975b9df98
Prevent incorrect dependency version update (#1476) 2024-09-27 06:58:24 -07:00
Trask Stalnaker 3324eea71c
Tell renovate not to update agrona dependency (#1475) 2024-09-27 07:57:20 +03:00
renovate[bot] a3c6bd9422
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.3 (#1477) 2024-09-26 16:09:21 -07:00
César 5e192e8d9f
Creating an opamp-client module (#1472) 2024-09-26 08:56:15 -07:00
renovate[bot] 3e75fe580b
fix(deps): update dependency org.junit:junit-bom to v5.11.1 (#1473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 13:31:23 +03:00
renovate[bot] 1151437228
fix(deps): update dependency net.bytebuddy:byte-buddy-agent to v1.15.2 (#1474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 13:31:07 +03:00
renovate[bot] b733b5ac1f
fix(deps): update dependency com.google.guava:guava-bom to v33.3.1-jre (#1471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 15:28:36 -07:00
renovate[bot] a36c217c18
chore(deps): update dependency gradle to v8.10.2 (#1470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 15:28:25 -07:00
Pranav Sharma 81fce14af5
Gcp add gcr job support (#1462) 2024-09-23 15:08:28 -07:00
renovate[bot] 8ece6d7d19
fix(deps): update dependency io.grpc:grpc-bom to v1.68.0 (#1464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 09:15:34 -07:00
renovate[bot] f691d32584
fix(deps): update dependency com.github.luben:zstd-jni to v1.5.6-6 (#1469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 09:13:26 -07:00
Alex Boten c8a9e2cb6c
fix: update references to logging exporter (#1465)
Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2024-09-20 10:54:40 -07:00
jackshirazi b51cedf925
add stability status to libraries (#1446) 2024-09-17 10:34:48 -07:00
Trask Stalnaker d45b740b69
Remove broken link (#1459) 2024-09-17 10:02:08 -07:00
OpenTelemetry Bot e957a15ee8
Update version to 1.40.0-SNAPSHOT (#1460) 2024-09-17 16:04:58 +00:00
Trask Stalnaker 8d96fa5495
Update changelog for upcoming release (#1458) 2024-09-17 08:55:51 -07:00
jason plumb be32409fe0
[disk-buffering] Add debug mode for verbose logging. (#1455) 2024-09-17 08:44:40 -07:00
jack-berg c7ec823b0a
Add declarative config support for RuleBasedRoutingSampler (#1440) 2024-09-16 14:05:50 -07:00
renovate[bot] 34c624c045
Update dependency com.uber.nullaway:nullaway to v0.11.3 (#1457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 10:40:16 -07:00
Bruno Baptista ca609c8999
Fix native mode error cause by static init of random (#862) 2024-09-16 17:26:53 +00:00
jack-berg 0edcfae368
Add declarative config support for aws xray propagators (#1442) 2024-09-16 10:23:41 -07:00
SylvainJuge 1d05953b2f
add span stacktrace config option (#1414)
Co-authored-by: jackshirazi <jacks@fasterj.com>
2024-09-16 10:23:19 -07:00
Yury Bubnov 75db558e79
Issue-1034 Short XRay Trace (#1036) 2024-09-16 10:18:51 -07:00
Jeffrey Chien 41c889141e
Fix Tomcat metric definitions to aggregate multiple MBeans. (#1366) 2024-09-16 10:18:10 -07:00
Pranav Sharma a76679bd0e
Fix incorrect cloud.platform value for GCF (#1454) 2024-09-16 08:22:32 -07:00
Peter Findeisen 711f6177b0
Composite Samplers prototype (#1443)
Co-authored-by: Otmar Ertl <otmar.ertl@gmail.com>
2024-09-16 08:21:46 -07:00
renovate[bot] 5cb581de6a
Update plugin com.squareup.wire to v5.1.0 (#1452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 08:20:44 -07:00
renovate[bot] 25b195fe99
Update errorProneVersion to v2.32.0 (#1453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 08:20:21 -07:00
renovate[bot] f6fa90977a
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.8.0-alpha (#1456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Berg <jberg@newrelic.com>
2024-09-16 09:50:03 -05:00
renovate[bot] 15e430779d
Update dependency com.gradle.enterprise:com.gradle.enterprise.gradle.plugin to v3.18.1 (#1450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 15:20:46 -07:00
renovate[bot] e7a39b8090
Update plugin com.gradle.develocity to v3.18.1 (#1451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 15:20:23 -07:00
renovate[bot] daa885e297
Update dependency com.linecorp.armeria:armeria-bom to v1.30.1 (#1449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 12:32:56 +03:00
renovate[bot] 1d133a4671
Update micrometer packages to v1.13.4 (#1448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 09:11:26 +03:00
renovate[bot] b9bbae6703
Update dependency gradle to v8.10.1 (#1447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-09 15:44:53 +03:00
jackshirazi c64a09c2cc
Update README with all current libraries (#1444) 2024-09-04 09:22:31 -07:00
renovate[bot] ad8b412372
Update dependency com.github.luben:zstd-jni to v1.5.6-5 (#1439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 15:47:07 -07:00
renovate[bot] 7bb7be1f3b
Update dependency net.bytebuddy:byte-buddy-agent to v1.15.1 (#1441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 15:45:43 -07:00
renovate[bot] 5d224dbd50
Update errorProneVersion to v2.31.0 (#1438)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 15:45:18 -07:00
renovate[bot] 3f50359058
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.15.0 (#1436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 15:42:37 -07:00
renovate[bot] 4eb047394f
Update dependency net.bytebuddy:byte-buddy-agent to v1.15.0 (#1432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 15:21:13 -07:00
renovate[bot] 682ccd20ae
Update semConvVersion to v1.27.0-alpha (#1430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 13:28:42 -07:00
renovate[bot] e257fa3baf
Update dependency com.uber.nullaway:nullaway to v0.11.2 (#1427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 13:17:39 -07:00
Trask Stalnaker 336a10747b
Fix release notes formatting (#1429) 2024-08-19 13:27:19 -07:00
Trask Stalnaker 06545f7e47
Fix incorrect SDK version included in release notes (#1426) 2024-08-19 12:35:14 -07:00
OpenTelemetry Bot 0f728dfea8
Update version to 1.39.0-SNAPSHOT (#1424) 2024-08-19 17:42:03 +00:00
Trask Stalnaker cf1490e066
Update change log (#1419) 2024-08-19 10:32:38 -07:00
renovate[bot] 829ad73283
Update dependency com.gradle.enterprise:com.gradle.enterprise.gradle.plugin to v3.18 (#1422)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 10:32:13 -07:00
renovate[bot] adcc624d25
Update plugin com.gradle.develocity to v3.18 (#1423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 10:31:26 -07:00
renovate[bot] b9fd5fac57
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.14.0 (#1421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 09:24:53 -07:00
renovate[bot] 6e3f837a2a
Update dependency com.google.guava:guava-bom to v33.3.0-jre (#1420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 13:27:56 +03:00
renovate[bot] 179e5fdd12
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.7.0-alpha (#1418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-16 07:46:13 -07:00
David Grieve 1942659046
jfr-connection: Recording close should not throw exception (#1412) 2024-08-15 17:25:03 -07:00
renovate[bot] cf3589eb2f
Update errorProneVersion to v2.30.0 (#1408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Plumb <jplumb@splunk.com>
2024-08-15 17:22:17 -07:00
renovate[bot] 66bf38aaa9
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.19 (#1417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 17:21:25 -07:00
renovate[bot] dd08543443
Update dependency org.junit:junit-bom to v5.11.0 (#1413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 13:03:03 -07:00
renovate[bot] 8ad4ca8c15
Update dependency gradle to v8.10 (#1415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-14 08:54:06 -07:00
renovate[bot] 9117be4944
Update slf4j monorepo to v2.0.16 (#1407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-13 08:37:37 +03:00
renovate[bot] 26915f780d
Update micrometer packages to v1.13.3 (#1411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-13 08:37:12 +03:00
renovate[bot] c890bd2e5c
Update dependency com.linecorp.armeria:armeria-bom to v1.30.0 (#1409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-12 13:31:20 -07:00
renovate[bot] 49fb5cddcd
Update slf4j monorepo to v2.0.15 (#1406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 18:40:00 +03:00
renovate[bot] 1d9f1f3489
Update dependency io.grpc:grpc-bom to v1.66.0 (#1405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 10:06:46 +03:00
renovate[bot] 13f407f922
Update dependency org.awaitility:awaitility to v4.2.2 (#1404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 11:27:44 -07:00
renovate[bot] 90efefc220
Update slf4j monorepo to v2.0.14 (#1402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 11:26:45 -07:00
renovate[bot] 1619e4f08f
Update dependency org.agrona:agrona to v1.22.0 (#1399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 11:26:27 -07:00
renovate[bot] 66e43cc594
Update gradle/actions action to v4 (#1401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Plumb <jplumb@splunk.com>
2024-08-07 17:02:06 +00:00
renovate[bot] dcfdebe2ab
Update testcontainers-java monorepo to v1.20.1 (#1398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 10:41:14 -07:00
renovate[bot] 01ee20c5bd
Update dependency com.linecorp.armeria:armeria-bom to v1.29.4 (#1394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 10:13:09 -07:00
renovate[bot] bd46cde7dd
Update dependency org.apache.kafka:kafka-clients to v3.8.0 (#1395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 10:11:54 -07:00
renovate[bot] d7b4dd91b0
Update dependency com.uber.nullaway:nullaway to v0.11.1 (#1396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 09:59:05 -07:00
Trask Stalnaker 8ca403c5f5
Update jmx-metrics component owners (#1397) 2024-07-30 13:04:03 -07:00
jason plumb 3856df0a59
Remove Ryan from jmx-metrics (#1393)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-07-24 14:55:44 -07:00
jason plumb 5a7f6a63e4
Remove cassandra from jvm.md (#1392) 2024-07-24 11:35:57 -07:00
renovate[bot] 8b039bbf93
Update gradle enterprise packages to v3.17.6 (#1390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 09:21:05 -07:00
renovate[bot] f3d84b5f88
Update dependency com.github.luben:zstd-jni to v1.5.6-4 (#1389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 09:20:43 -07:00
renovate[bot] 2c6467779a
Update errorProneVersion to v2.29.2 (#1388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 17:39:10 -07:00
Trask Stalnaker 32c7e89e8e
Add renovate rule for disruptor (#1384) 2024-07-18 09:58:06 -07:00
OpenTelemetry Bot 332b4f4b52
Update version to 1.38.0-SNAPSHOT (#1386) 2024-07-18 09:57:34 -07:00
Trask Stalnaker 2c174bb263
Add change log for upcoming release (#1385) 2024-07-18 08:58:11 -07:00
renovate[bot] 9491564138
Update testcontainers-java monorepo to v1.20.0 (#1383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 15:35:32 +00:00
renovate[bot] 857032ecf1
Update dependency io.opentelemetry.semconv:opentelemetry-semconv-incubating to v1.26.0-alpha (#1375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com>
2024-07-18 08:34:23 -07:00
renovate[bot] 33c35a642e
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.6.0-alpha (#1382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:27:20 -07:00
renovate[bot] d3d522ffe9
Update errorProneVersion to v2.29.1 (#1380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:20:15 -07:00
Jonas Kunz 143566905a
Fix error in inferred spans setup code snippet (#1381) 2024-07-18 08:19:42 -07:00
renovate[bot] e5df2f37ce
Update dependency org.assertj:assertj-core to v3.26.3 (#1370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:19:19 -07:00
renovate[bot] 000a61f68c
Update dependency com.linecorp.armeria:armeria-bom to v1.29.2 (#1371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:19:05 -07:00
renovate[bot] 2c9ce711a4
Update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.31.0 (#1372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:18:33 -07:00
renovate[bot] 1c0168c5ae
Update dependency gradle to v8.9 (#1374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:18:19 -07:00
renovate[bot] 928faffa63
Update dependency io.grpc:grpc-bom to v1.65.1 (#1377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:17:35 -07:00
renovate[bot] 380f8ee7f0
Update plugin com.squareup.wire to v5 (#1378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:17:21 -07:00
renovate[bot] 644a297bcc
Update gradle/wrapper-validation-action action to v3.5.0 (#1379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:17:01 -07:00
renovate[bot] 5c2a17b0da
Update dependency org.jctools:jctools-core to v4.0.5 (#1373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 10:40:03 -07:00
David Grieve 63361ccbe8
jfr-connection: fixes for using diagnostic command to start a recording (#1352)
Co-authored-by: Jean Bisutti <jean.bisutti@gmail.com>
2024-07-11 08:52:57 -07:00
Jonas Kunz 6e7673b11f
Inferred spans (#1340) 2024-07-11 08:52:32 -07:00
renovate[bot] eb5f49619c
Update dependency org.apache.kafka:kafka-clients to v3.7.1 (#1358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 12:22:08 -07:00
renovate[bot] 0e19b62078
Update dependency org.codehaus.groovy:groovy-bom to v3.0.22 (#1359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 12:18:55 -07:00
renovate[bot] 6d30e15ff2
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.18 (#1367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 08:07:50 -07:00
renovate[bot] 08e0a8a0cf
Update semConvVersion to v1.26.0-alpha (#1368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 08:07:22 -07:00
Mengyi Zhou (bjrara) aea4251e90
Add AWS ECS cluster detection (#1354) 2024-07-09 08:05:33 -07:00
renovate[bot] 4df156af75
Update micrometer packages to v1.13.2 (#1369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 08:04:42 -07:00
renovate[bot] dee0ea9f0a
Update dependency com.fasterxml.jackson:jackson-bom to v2.17.2 (#1365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 17:43:49 -07:00
renovate[bot] b7345dc9ac
Update dependency org.skyscreamer:jsonassert to v1.5.3 (#1350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-29 13:58:10 +03:00
renovate[bot] cdfe1a175b
Update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.30.0 (#1357)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-29 13:56:33 +03:00
renovate[bot] b7ba0a6e45
Update dependency io.grpc:grpc-bom to v1.65.0 (#1356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 09:40:45 +00:00
renovate[bot] 62ba6db9e3
Update dependency com.linecorp.armeria:armeria-bom to v1.29.1 (#1355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 09:40:13 +00:00
renovate[bot] c755b34703
Update dependency org.junit:junit-bom to v5.10.3 (#1353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 18:01:06 -07:00
renovate[bot] 852fa50120
Update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.0.1 (#1349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-23 12:33:56 +03:00
renovate[bot] 24cc64f95b
Update gradle/wrapper-validation-action action to v3.4.2 (#1347) 2024-06-17 16:25:38 -07:00
Gregor Zeitlinger d23bc116c0
add config support for BaggageSpanProcessor (#1330)
Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
2024-06-17 12:46:02 -07:00
Jay DeLuca 6f3cfa3c39
Update JMX metrics to support both a script and target systems (#1339) 2024-06-17 12:45:28 -07:00
renovate[bot] 8a9d9c65ba
Update gradle/wrapper-validation-action action to v3.4.1 (#1345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 12:45:13 -07:00
renovate[bot] 7d108fa804
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.5.0-alpha (#1346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 12:44:54 -07:00
renovate[bot] 8ff5ce0e37
Update gradle/wrapper-validation-action action to v3.4.0 (#1344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-14 13:36:41 -07:00
renovate[bot] 21f8fe899d
Update gradle enterprise packages to v3.17.5 (#1343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-12 11:27:32 -07:00
renovate[bot] 18e580e5bb
Update dependency com.linecorp.armeria:armeria-bom to v1.29.0 (#1342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-12 11:00:04 -07:00
renovate[bot] 3950997ae5
Update micrometer packages to v1.13.1 (#1341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:24:18 -07:00
renovate[bot] 456e2debe4
Update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4 (#1337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 09:37:26 +03:00
renovate[bot] 013c03161b
Update dependency com.uber.nullaway:nullaway to v0.11.0 (#1336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:26:44 +03:00
renovate[bot] dd0758f77e
Update dependency gradle to v8.8 (#1335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:24:01 +03:00
renovate[bot] a1425acb41
Update errorProneVersion to v2.28.0 (#1334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:21:45 +03:00
renovate[bot] cc938add05
Update autoValueVersion to v1.11.0 (#1333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 14:27:45 -07:00
renovate[bot] 42859963d2
Update dependency com.google.guava:guava-bom to v33.2.1-jre (#1331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 14:14:38 -07:00
renovate[bot] f0fb98e32b
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.13.1 (#1332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 14:14:26 -07:00
renovate[bot] ebf7738d36
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.17 (#1329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 08:16:02 +03:00
OpenTelemetry Bot 650e0ceb62
Merge change log updates from release/v1.36.x (#1328) 2024-05-29 09:07:42 +03:00
OpenTelemetry Bot 225d5ff7c3
Update version to 1.37.0-SNAPSHOT (#1326) 2024-05-28 22:27:10 +00:00
Trask Stalnaker 2e9d8816a7
Change log for upcoming release (#1325) 2024-05-28 15:18:57 -07:00
SylvainJuge aa5b65a649
Inline incubating attributes + central semconv-incubating dependency (#1298)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-05-28 09:16:36 -07:00
Cyrille Le Clerc 516aed9fdf
[Maven Extension] Migrate from Plexus to JSR 330 dependency injection APIs (#1320) 2024-05-28 08:43:08 -07:00
renovate[bot] 14c385e374
Update micrometer packages to v1.13.0 (#1315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-05-28 08:42:53 -07:00
Mike Goldsmith 72d7976820
Add baggage span processor component (#1290) 2024-05-28 08:41:39 -07:00
renovate[bot] 71e5417431
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.4.0-alpha (#1319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-05-28 09:16:32 +03:00
renovate[bot] 3e27e2bb6f
Update gradle enterprise packages to v3.17.4 (#1318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-27 16:49:20 +03:00
renovate[bot] 34b505e1dd
Update dependency org.assertj:assertj-core to v3.26.0 (#1324)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-27 16:48:01 +03:00
renovate[bot] d91dfc6ef1
Update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.29.0 (#1323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-25 10:49:11 +03:00
renovate[bot] 7d6f0e762a
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.16 (#1321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-23 10:07:16 +03:00
renovate[bot] 0deabdde10
Update dependency io.grpc:grpc-bom to v1.64.0 (#1317)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 09:43:13 -07:00
SylvainJuge 4a6a3e0d71
document span stacktrace (#1301) 2024-05-14 12:09:23 -07:00
renovate[bot] 64285c24ef
Update micrometer packages to v1.12.6 (#1314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 13:46:16 +03:00
renovate[bot] 7d910371b5
Update gradle enterprise packages to v3.17.3 (#1308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-11 11:47:10 +03:00
Trask Stalnaker a07677d19f
Fix todo (#1313) 2024-05-11 11:45:26 +03:00
jason plumb 1dba100ab8
[jfr-connection] Pin JMC version for testing (#1311) 2024-05-10 09:36:51 -07:00
renovate[bot] 22f7ff40cd
Update testcontainers-java monorepo to v1.19.8 (#1309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-09 09:20:31 +03:00
renovate[bot] 93266c4440
Update errorProneVersion to v2.27.1 (#1294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-05-08 07:40:52 -07:00
Otmar Ertl 55ec98bffa
Assume random trace ID and set th-field only for sampled spans (#1278) 2024-05-08 13:37:43 +03:00
SylvainJuge dd2c1fbaf5
migrate maven extension to current semconv (#1299) 2024-05-08 13:34:36 +03:00
jason plumb 24032f15fd
[disk-buffering] Fix mocking in test code (#1306) 2024-05-08 13:30:22 +03:00
renovate[bot] a63979ff8e
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.15 (#1307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 13:13:37 +03:00
Cyrille Le Clerc b8da3f8fcd
Disable by default metrics and logs (#1276) 2024-05-07 12:45:22 -07:00
renovate[bot] 8552ff052b
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.13.0 (#1305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 10:15:10 +03:00
renovate[bot] 36386ddcee
Update dependency com.fasterxml.jackson:jackson-bom to v2.17.1 (#1304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 10:14:47 +03:00
SylvainJuge 4a3dfac549
publish span stacktrace (#1297) 2024-05-03 14:03:34 -07:00
renovate[bot] 92dd8ace2b
Update dependency com.google.guava:guava-bom to v33.2.0-jre (#1300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 12:59:38 -07:00
renovate[bot] 799ac2bb2a
Update dependency com.uber.nullaway:nullaway to v0.10.26 (#1302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 12:59:02 -07:00
Pranav Sharma 9964152efb
Update guidance for manual instrumentation usage (#1250) 2024-04-30 20:47:03 -07:00
Gregor Zeitlinger 734941cd81
stop detecting cloud providers early (#1225) 2024-04-30 20:14:07 -07:00
renovate[bot] 6346658e02
Update dependency com.linecorp.armeria:armeria-bom to v1.28.4 (#1296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 21:03:07 +03:00
renovate[bot] 0d98eee1f9
Update dependency com.linecorp.armeria:armeria-bom to v1.28.3 (#1293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 09:51:27 +03:00
Gregor Zeitlinger 5cac862fe3
avoid using deprecated methods (#1291) 2024-04-26 09:20:41 +03:00
renovate[bot] 7643e54b2a
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.14 (#1288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 09:20:16 +03:00
renovate[bot] fbe36b6410
Update gradle/wrapper-validation-action action to v3.3.2 (#1292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 09:19:48 +03:00
renovate[bot] 9d1f243f3c
Update dependency com.github.luben:zstd-jni to v1.5.6-3 (#1289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 09:22:30 +03:00
renovate[bot] adce4f35f0
Update gradle enterprise packages to v3.17.2 (#1282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 10:23:22 +03:00
renovate[bot] 62fc6442a1
Update dependency com.linecorp.armeria:armeria-bom to v1.28.2 (#1284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 10:23:04 +03:00
renovate[bot] bf9f3f8b39
Update gradle/wrapper-validation-action action to v3.3.1 (#1285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 10:22:47 +03:00
jason plumb 7d732c8ebf
[jmx-metrics] Migrate SLF to be testImplementation() only. (#1283) 2024-04-18 09:10:50 +03:00
jason plumb 936bc7547e
Fix link in changelog (#1281) 2024-04-17 09:35:32 +03:00
OpenTelemetry Bot a3a8f7030f
Update version to 1.36.0-SNAPSHOT (#1279) 2024-04-16 14:11:12 -07:00
Trask Stalnaker 39833e50e0
Update change log for next release (#1275)
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2024-04-16 21:00:12 +00:00
Seth L 07f0cbe42c
In Tomcat Version 10.1.19 Spring Boot 3.2.4 Tomcat Bean Name Is Tomca… (#1269) 2024-04-16 10:47:29 -07:00
renovate[bot] baf0eaa36e
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.3.0-alpha (#1267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-04-16 09:29:38 -07:00
SylvainJuge 425bfb99fb
stacktrace span processor (#1255) 2024-04-15 11:53:05 -07:00
renovate[bot] 0909264e15
Update dependency com.linecorp.armeria:armeria-bom to v1.28.1 (#1274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 11:52:08 -07:00
renovate[bot] 6bbb1d77c6
Update gradle/wrapper-validation-action action to v3 (#1272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-13 10:18:18 +03:00
renovate[bot] f67784ffb7
Update slf4j monorepo to v2.0.13 (#1271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 15:12:15 +00:00
renovate[bot] f0039ce66a
Update dependency com.linecorp.armeria:armeria-bom to v1.28.0 (#1268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 08:04:35 -07:00
renovate[bot] 15a956b400
Update gradle/wrapper-validation-action action to v2.1.3 (#1265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:29:53 +03:00
renovate[bot] e1ab43c9c7
Update gradle enterprise packages to v3.17.1 (#1264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 14:11:57 -07:00
renovate[bot] 58aba1f940
Update dependency com.google.cloud.opentelemetry:detector-resources-support to v0.28.0 (#1259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 15:59:03 -07:00
Trask Stalnaker 37994588e1
Renovate not updating semconv versions (#1262) 2024-04-08 15:58:29 -07:00
renovate[bot] 74a10283b5
Update opentelemetry-java monorepo to v1.37.0 (#1263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 15:24:43 -07:00
renovate[bot] 24081f2fb2
Update plugin io.github.gradle-nexus.publish-plugin to v2 (#1260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 12:19:38 -07:00
renovate[bot] d3d3a72bba
Update dependency com.github.luben:zstd-jni to v1.5.6-2 (#1254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 12:05:22 -07:00
renovate[bot] 12acfe438e
Update micrometer packages to v1.12.5 (#1261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 21:02:51 +03:00
renovate[bot] e8e85d3650
Update dependency org.hipparchus:hipparchus-core to v3.1 (#1257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-04-05 21:04:48 +00:00
renovate[bot] 483f9d1935
Update dependency org.hipparchus:hipparchus-stat to v3.1 (#1258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 14:02:21 -07:00
renovate[bot] 7ec295cf6e
Update dependency io.grpc:grpc-bom to v1.63.0 (#1256) 2024-04-05 13:41:05 -07:00
renovate[bot] 57161de608
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.12.0 (#1253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 17:16:14 -07:00
renovate[bot] 732d0eaf9b
Update gradle enterprise packages to v3.17 (#1252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 15:56:12 -07:00
renovate[bot] 81f3d31693
Update plugin com.squareup.wire to v4.9.9 (#1251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 15:36:17 -07:00
renovate[bot] 1c0515b0da
Update dependency com.uber.nullaway:nullaway to v0.10.25 (#1248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 16:47:55 -07:00
renovate[bot] 43987908b7
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.13 (#1247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 16:24:15 -07:00
renovate[bot] 422f552a3e
Update dependency com.github.luben:zstd-jni to v1.5.6-1 (#1246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 09:06:50 +02:00
Trask Stalnaker 6d09a9baf2
Update renovate config for new micrometer baseline (#1245) 2024-03-27 18:03:04 +02:00
OpenTelemetry Bot bc6f2d6817
Update version to 1.35.0-SNAPSHOT (#1243) 2024-03-27 14:54:07 +00:00
Lauri Tulmin b676e0a782
Fix renovate rule for system-stubs-jupiter (#1240) 2024-03-27 07:53:52 -07:00
Trask Stalnaker 3f71b8804f
Update change log for 1.34.0 release (#1242) 2024-03-27 07:45:21 -07:00
Michele Mancioppi 531ba2b64e
AWS ECS Detector: set cloud.{account.id,availability_zone,region} (#1171)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-03-27 07:37:00 -07:00
HaloFour 9dcefdd967
Implement Metrics incubator APIs to accept advice (#1190) 2024-03-27 07:36:41 -07:00
Pranav Sharma 341421d6ec
Update GCP resource detector info (#1237) 2024-03-27 07:36:17 -07:00
Robert Lu 727844036d
migrate gradle/gradle-build-action to gradle/actions/setup-gradle (#1239) 2024-03-27 09:31:56 +02:00
renovate[bot] 96ac40257e
Update dependency com.linecorp.armeria:armeria-bom to v1.27.3 (#1238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:36:24 +02:00
Lauri Tulmin 3a3d9e1ef4
Disable major updates for uk.org.webcompere:system-stubs-jupiter (#1234) 2024-03-26 02:23:07 +01:00
renovate[bot] d2add82cec
Update dependency gradle to v8.7 (#1235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-22 21:29:57 +02:00
renovate[bot] b186c8190c
Update gradle/wrapper-validation-action action to v2.1.2 (#1233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-22 10:23:29 +02:00
renovate[bot] 7c3180843c
Update plugin com.squareup.wire to v4.9.8 (#1231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 11:55:00 +02:00
Tyler Benson d48736a1cd
Add xray propagators that prioritizes xray environment variable (#1032) 2024-03-21 11:54:34 +02:00
renovate[bot] 1348bf3030
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.2.0-alpha (#1229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 11:50:02 +02:00
renovate[bot] 7349fd6049
Update dependency org.awaitility:awaitility to v4.2.1 (#1230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-16 12:01:22 +02:00
renovate[bot] c13ec2889f
Update dependency com.google.guava:guava-bom to v33.1.0-jre (#1226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:44:57 +02:00
renovate[bot] 62f080f73d
Update errorProneVersion to v2.26.1 (#1223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 11:03:27 +02:00
renovate[bot] 0c68cce9da
Update dependency com.fasterxml.jackson:jackson-bom to v2.17.0 (#1224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-03-13 11:03:01 +02:00
renovate[bot] c1c005fda6
Update errorProneVersion to v2.26.0 (#1221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-03-12 08:09:04 +00:00
renovate[bot] 4427011684
Update opentelemetry-java monorepo to v1.36.0 (#1218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 21:02:09 -07:00
renovate[bot] fa59b691fa
Update dependency com.fasterxml.jackson:jackson-bom to v2.16.2 (#1219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 20:32:48 +02:00
renovate[bot] 5c46b08427
Update micrometer packages to v1.12.4 (#1220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 20:32:28 +02:00
renovate[bot] 6a44e04a76
Update testcontainers-java monorepo to v1.19.7 (#1215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 10:17:59 +02:00
renovate[bot] eece7e8ef0
Update dependency com.uber.nullaway:nullaway to v0.10.24 (#1212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 10:02:00 +02:00
renovate[bot] d9e07bf460
Update dependency org.codehaus.groovy:groovy-bom to v3.0.21 (#1211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 08:09:55 -08:00
renovate[bot] b7736a6087
Update dependency org.apache.kafka:kafka-clients to v3.7.0 (#1208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 20:17:17 +02:00
renovate[bot] a7154944f4
Update dependency io.grpc:grpc-bom to v1.62.2 (#1207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 20:16:49 +02:00
Trask Stalnaker d08d553be0
Move Mateusz to emeritus, add Jason and Lauri as maintainers (#1209)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2024-02-27 19:59:35 +02:00
renovate[bot] 4dd6b38553
Update dependency com.linecorp.armeria:armeria-bom to v1.27.2 (#1206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 12:40:40 -08:00
renovate[bot] 78c0811641
Update testcontainers-java monorepo to v1.19.6 (#1205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 18:34:03 -08:00
Trask Stalnaker 8903ed5d32
Update changelog heading (#1203) 2024-02-21 13:06:25 -08:00
OpenTelemetry Bot e11e6ea628
Update version to 1.34.0-SNAPSHOT (#1202) 2024-02-21 20:55:33 +00:00
Trask Stalnaker b0ffa06d3a
Update change log (#1200) 2024-02-21 12:47:23 -08:00
renovate[bot] 3d30b10683
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.1.0-alpha (#1196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Plumb <jplumb@splunk.com>
2024-02-21 07:13:42 -08:00
renovate[bot] de017df5db
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.12 (#1197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 12:45:48 -08:00
renovate[bot] a65e8103b7
Update errorProneVersion to v2.25.0 (#1198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 12:45:28 -08:00
renovate[bot] 5191316ae0
Update dependency net.ltgt.gradle:gradle-nullaway-plugin to v2 (#1199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 12:45:04 -08:00
renovate[bot] f6c352e989
Update dependency com.uber.nullaway:nullaway to v0.10.23 (#1195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 12:19:35 -08:00
renovate[bot] 2d33aeaf99
Update plugin com.squareup.wire to v4.9.7 (#1194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 08:22:32 -08:00
renovate[bot] 494ff1f7e6
Update micrometer packages to v1.12.3 (#1193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 14:18:35 -08:00
renovate[bot] 721bdbb15f
Update gradle/wrapper-validation-action action to v2.1.1 (#1192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 08:12:34 -08:00
renovate[bot] b6f755a55e
Update opentelemetry-java monorepo to v1.35.0 (#1191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 11:12:58 -08:00
renovate[bot] 2a66e05af6
Update testcontainers-java monorepo to v1.19.5 (#1189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 08:52:23 -08:00
renovate[bot] 1c0c19d030
Update gradle/wrapper-validation-action action to v2.1.0 (#1188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 16:10:29 +00:00
renovate[bot] 4d2c3b5e1e
Update dependency com.linecorp.armeria:armeria-bom to v1.27.1 (#1187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 08:03:17 -08:00
renovate[bot] b602428be4
Update gradle/wrapper-validation-action action to v2.0.1 (#1186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 08:51:03 -08:00
renovate[bot] 038a7be975
Update dependency io.grpc:grpc-bom to v1.61.1 (#1182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-05 19:05:50 -08:00
renovate[bot] 680074ddde
Update dependency org.junit:junit-bom to v5.10.2 (#1183) 2024-02-05 16:50:03 -08:00
renovate[bot] fbfca12cb2
Update dependency org.assertj:assertj-core to v3.25.3 (#1184) 2024-02-05 16:49:53 -08:00
renovate[bot] 798487db81
Update dependency gradle to v8.6 (#1181) 2024-02-05 16:49:32 -08:00
renovate[bot] 597132355a
Update slf4j monorepo to v2.0.12 (#1185) 2024-02-05 16:48:39 -08:00
renovate[bot] f98f48f254
Update plugin com.squareup.wire to v4.9.6 (#1180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-02 16:20:18 +00:00
renovate[bot] 76468a3171
Update gradle/wrapper-validation-action action to v2 (#1179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-01 13:43:20 -08:00
renovate[bot] afaa13283a
Update dependency com.linecorp.armeria:armeria-bom to v1.27.0 (#1177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 12:52:38 -08:00
Trask Stalnaker f494280393
Add missing parenthesis (#1176) 2024-01-30 10:31:28 -08:00
jason plumb 4a0e0c5b5c
[disk-buffering] Ensure no sign propagation for flags byte (#1166) 2024-01-29 14:27:35 -08:00
renovate[bot] 7ed5ab0c34
Update dependency com.uber.nullaway:nullaway to v0.10.22 (#1175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-29 12:32:35 -08:00
Pranav Sharma 51b595f466
Add GCP resource detection module (#1162) 2024-01-29 12:13:59 -08:00
renovate[bot] dd816187d0
Update plugin com.squareup.wire to v4.9.5 (#1173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-29 12:13:14 -08:00
César ec7a933d60
Diskbuffering config and README updates (#1169) 2024-01-29 12:12:52 -08:00
renovate[bot] 5b0b51b4b1
Update gradle/gradle-build-action action to v3 (#1174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 14:50:24 -08:00
renovate[bot] 9e8a902a35
Update gradle enterprise packages to v3.16.2 (#1172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 07:37:02 -08:00
renovate[bot] e435ffefc2
Update testcontainers-java monorepo to v1.19.4 (#1170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 14:40:03 -08:00
renovate[bot] cdaadbe8c2
Update spotless packages to v6.25.0 (#1165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 10:27:46 -08:00
jason plumb 5000adfc23
[disk-buffering] Split serializer (#1167) 2024-01-24 17:03:56 -08:00
renovate[bot] aaf0446d4a
Update dependency org.assertj:assertj-core to v3.25.2 (#1168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 09:42:10 -08:00
jason plumb 3f7db8b748
[disk-buffering] - Single responsibility for disk exporters (#1161) 2024-01-23 13:44:05 -08:00
renovate[bot] fa5d16193b
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2 (#1158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 10:33:43 -08:00
renovate[bot] e676145176
Update spotless packages to v6.24.0 (#1159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 10:30:32 -08:00
renovate[bot] 756e72ebf7
Update dependency com.uber.nullaway:nullaway to v0.10.21 (#1157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 10:04:25 -08:00
renovate[bot] 1555484dc6
Update dependency io.grpc:grpc-bom to v1.61.0 (#1160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 10:04:04 -08:00
renovate[bot] 563a92011d
Update openTelemetryVersion to v1.34.1 (#1155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 19:03:03 -08:00
renovate[bot] 2b6e3edfb4
Update dependency org.testcontainers:kafka to v1.19.3 (#1153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-10 17:21:43 -08:00
renovate[bot] a1e01077da
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.11.0 (#1154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-10 17:21:10 -08:00
renovate[bot] 69c749994e
Update dependency org.apache.kafka:kafka-clients to v3.6.1 (#1152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-10 11:09:43 -08:00
naser-ayat 8f22e5ab3f
implement kafka-exporter (#965) 2024-01-10 10:38:29 -08:00
Trask Stalnaker 6ecf34d28a
Fix link (#1151) 2024-01-09 14:49:17 -08:00
renovate[bot] 2de945bae1
Update micrometer packages to v1.12.2 (#1150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 08:10:04 -08:00
renovate[bot] a1771e8d80
Update dependency com.github.luben:zstd-jni to v1.5.5-11 (#1149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 17:30:08 -06:00
jack-berg 5d7449d089
Add zstd compressor implementation for OTLP exporters (#1108) 2024-01-08 15:13:31 -08:00
renovate[bot] 17b6dc6a32
Update slf4jVersion to v2.0.11 (#1148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 14:14:34 -08:00
renovate[bot] f035f7e290
Update errorProneVersion to v2.24.1 (#1083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-05 07:59:38 -08:00
Mackenzie 8fe0252f4c
Add kafka.request.time.avg (#1135) 2024-01-04 14:37:06 -08:00
César b495ac8ac7
Shadowing generated proto java sources (#1146)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-04 08:25:46 -08:00
renovate[bot] b0e279719c
Update dependency org.assertj:assertj-core to v3.25.1 (#1145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 18:50:38 -08:00
renovate[bot] 4918e51c78
Update dependency com.google.guava:guava-bom to v33 (#1137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 22:01:39 +00:00
renovate[bot] c3dd1dfc61
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.11 (#1138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:55:01 -08:00
renovate[bot] 76a2063045
Update slf4jVersion to v2.0.10 (#1144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:54:38 -08:00
renovate[bot] 44f3cb47b3
Update dependency io.grpc:grpc-bom to v1.60.1 (#1139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:54:17 -08:00
renovate[bot] 4c2baebc76
Update dependency com.fasterxml.jackson:jackson-bom to v2.16.1 (#1142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:53:54 -08:00
renovate[bot] 6b9bfef7f6
Update dependency org.codehaus.groovy:groovy-bom to v3.0.20 (#1140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:53:27 -08:00
renovate[bot] 9fe400e6b3
Update dependency com.uber.nullaway:nullaway to v0.10.19 (#1143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 13:53:07 -08:00
renovate[bot] 2b42848e38
Update gradle enterprise packages to v3.16.1 (#1133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 20:22:33 +00:00
renovate[bot] 2a29c9360d
Update actions/upload-artifact action to v4 (#1134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 12:16:37 -08:00
renovate[bot] 0f356bc1ec
Update github/codeql-action action to v3 (#1132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 10:24:10 -08:00
Alex Kats 50dc6a2b5c
Add Error handling for closure parameters (#1102) 2023-12-12 16:25:57 -08:00
jason plumb 6f618560e9
Group spotless renovate updates (#1124) 2023-12-12 16:24:16 -08:00
renovate[bot] 23090f2b6d
Update micrometer packages to v1.12.1 (#1131) 2023-12-12 16:23:50 -08:00
renovate[bot] 763d8f8153
Update dependency com.linecorp.armeria:armeria-bom to v1.26.4 (#1128) 2023-12-12 16:23:24 -08:00
renovate[bot] 8d9ba4ec8e
Update actions/stale action to v9 (#1127) 2023-12-12 16:23:03 -08:00
Otmar Ertl 21eee6f25f
switch from acceptance to rejection threshold (#1130) 2023-12-12 16:22:49 -08:00
Gregor Zeitlinger 73a352f96c
remove extended tracer, which has been merged into the main repo (#1129) 2023-12-08 08:54:27 -06:00
renovate[bot] 43bd74c02a
Update dependency io.grpc:grpc-bom to v1.60.0 (#1116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 11:05:48 -08:00
renovate[bot] c236ad5877
Update gradle enterprise packages to v3.16 (#1125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 11:05:20 -08:00
renovate[bot] a670383519
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.23.3 (#1122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 11:10:06 -08:00
renovate[bot] e51b9eae18
Update plugin com.diffplug.spotless to v6.23.3 (#1123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 11:07:17 -08:00
renovate[bot] f4903a1aa4
Update plugin com.diffplug.spotless to v6.23.2 (#1120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 14:48:59 -08:00
renovate[bot] c95d38f8bf
Update dependency com.uber.nullaway:nullaway to v0.10.18 (#1121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:18:07 -08:00
renovate[bot] 99e857fd60
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.23.2 (#1111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:12:48 -08:00
renovate[bot] 3b070384aa
Update plugin com.diffplug.spotless to v6.23.1 (#1112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 12:33:24 -08:00
renovate[bot] 08cfe5c292
Update dependency gradle to v8.5 (#1118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 09:22:23 -08:00
renovate[bot] b27aa691a0
Update actions/setup-java action to v4 (#1119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 09:22:02 -08:00
Trask Stalnaker f4cdee01ba
Add Jason Plumb as an approver (#1115) 2023-11-28 08:53:35 -08:00
OpenTelemetry Bot cd19fcb917
Update version to 1.33.0-SNAPSHOT (#1113) 2023-11-27 17:48:38 +00:00
renovate[bot] 4f9416376e
Update dependency org.testcontainers:testcontainers-bom to v1.19.3 (#1109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 09:40:42 -08:00
Trask Stalnaker 60301158eb
Update change log for 1.32.0 (#1107) 2023-11-27 09:39:57 -08:00
renovate[bot] 95cbaaea34
Update plugin com.squareup.wire to v4.9.3 (#1110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 09:39:24 -08:00
Trask Stalnaker 3839342a87
Stop publishing releases to discussions page (#1099) 2023-11-27 09:11:14 -08:00
renovate[bot] 7487fcbdc0
Update dependency com.fasterxml.jackson:jackson-bom to v2.16.0 (#1101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 16:25:38 -08:00
renovate[bot] 870d5263b4
Update dependency com.linecorp.armeria:armeria-bom to v1.26.3 (#1103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 15:34:22 -08:00
renovate[bot] 9c1d3bf758
Update dependency com.uber.nullaway:nullaway to v0.10.17 (#1105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 15:34:04 -08:00
renovate[bot] d336f4f495
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.10 (#1106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 15:33:20 -08:00
renovate[bot] 6e48ee09d8
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v1.32.0-alpha (#1104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 15:32:58 -08:00
renovate[bot] 8e347489c4
Update dependency org.testcontainers:testcontainers-bom to v1.19.2 (#1100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 15:17:08 -08:00
renovate[bot] 6424f1713d
Update plugin com.squareup.wire to v4.9.2 (#1098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 07:33:17 -08:00
renovate[bot] 07579b203f
Update micrometer packages to v1.12.0 (#1097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 07:32:53 -08:00
César 4a00e328fe
Using android 21 as minimum supported for disk-buffering (#1096) 2023-11-08 10:07:21 -08:00
renovate[bot] 2c48b1378f
Update dependency org.junit:junit-bom to v5.10.1 (#1093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 17:12:32 +00:00
Gregor Zeitlinger 2983ea70e9
add extended tracer module (#759)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-11-08 09:09:41 -08:00
renovate[bot] 1b7d0c638f
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.10.2 (#1095)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 09:08:55 -08:00
renovate[bot] 1459cf3bed
Update dependency com.toasttab.android:gummy-bears-api-24 to v0.6.1 (#1092)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 09:07:49 -08:00
renovate[bot] c31ccd40dc
Update dependency com.linecorp.armeria:armeria-bom to v1.26.2 (#1090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 09:05:24 -08:00
renovate[bot] dc3b6e78a8
Update dependency com.uber.nullaway:nullaway to v0.10.16 (#1091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 18:48:33 -07:00
renovate[bot] ae0c8c2871
Update plugin me.champeau.jmh to v0.7.2 (#1089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 12:23:11 -07:00
renovate[bot] a18177050f
Update dependency com.linecorp.armeria:armeria-bom to v1.26.0 (#1088) 2023-10-27 06:44:05 -07:00
renovate[bot] c0b35d751d
Update dependency org.apache.maven.plugin-tools:maven-plugin-annotations to v3.10.1 (#1086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 18:23:17 -07:00
renovate[bot] 066a16eebf
Update dependency io.grpc:grpc-bom to v1.59.0 (#1085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 15:38:50 -07:00
renovate[bot] 928b5a4756
Update dependency com.uber.nullaway:nullaway to v0.10.15 (#1084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 11:03:08 -07:00
Trask Stalnaker aeaa483561
Fix broken links (#1082) 2023-10-18 11:37:39 -07:00
OpenTelemetry Bot 91789860f6
Update version to 1.32.0-SNAPSHOT (#1079) 2023-10-18 09:30:50 -07:00
Trask Stalnaker 62045cce44
Update change log (#1076) 2023-10-18 15:58:01 +00:00
Jean Bisutti 5c6ac6fa11
Rename runtime attach method (#1077) 2023-10-18 08:53:59 -07:00
Otmar Ertl e46643159a
consistent sampler prototypes using 56 bits of randomness (#1063) 2023-10-18 06:37:55 -07:00
renovate[bot] 27e17fd0e8
Update dependency com.squareup.okhttp3:okhttp to v4.12.0 (#1078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 09:06:47 -07:00
renovate[bot] c2ea6096c6
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v1.31.0-alpha (#1072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-10-13 14:40:08 -07:00
renovate[bot] 5041ea585a
Update dependency com.fasterxml.jackson:jackson-bom to v2.15.3 (#1073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 14:39:53 -07:00
Trask Stalnaker b9a5775386
Fix the build (#1075) 2023-10-13 14:00:21 -07:00
Trask Stalnaker 8b223f8abe
Revert "Move to io.opentelemetry.semconv:opentelemetry-semconv (#1050)" (#1070) 2023-10-13 09:41:37 -07:00
renovate[bot] 7f1560254e
Update plugin com.diffplug.spotless to v6.22.0 (#1058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 19:10:24 -07:00
renovate[bot] f0f9abb12a
Update dependency com.google.guava:guava-bom to v32.1.3-jre (#1071)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 19:09:54 -07:00
renovate[bot] acbeb1c842
Update dependency gradle to v8.4 (#1064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 09:16:13 -07:00
renovate[bot] 9e372c06dc
Update dependency org.hipparchus:hipparchus-core to v3 (#1066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 16:16:05 +00:00
renovate[bot] 0639f51206
Update gradle enterprise packages to v3.15.1 (#1065)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 09:15:39 -07:00
renovate[bot] b9be6693c1
Update dependency org.hipparchus:hipparchus-stat to v3 (#1067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 09:13:43 -07:00
renovate[bot] b4fbdf6cf7
Update micrometer packages to v1.11.5 (#1069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 16:35:08 +02:00
renovate[bot] 7ea1ef8507
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.9 (#1068) 2023-10-09 19:37:40 -07:00
renovate[bot] ba896e1e0b
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.22.0 (#1057)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-10-02 16:21:52 -07:00
renovate[bot] 30492bff7f
Update dependency org.testcontainers:testcontainers-bom to v1.19.1 (#1062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 12:08:19 -07:00
renovate[bot] 9f8ff361a1
Update plugin com.squareup.wire to v4.9.1 (#1054)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 08:21:04 -07:00
Dennis Kieselhorst 1d14305fb0
Move to io.opentelemetry.semconv:opentelemetry-semconv (#1050) 2023-09-26 11:50:54 -07:00
renovate[bot] 0f74a01809
Update plugin com.squareup.wire to v4.9.0 (#1051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:51:27 +00:00
Otmar Ertl 105e50c9d5
improved java doc, explicit passing of invalid p-value to root sampler (#1053) 2023-09-25 11:39:00 -07:00
renovate[bot] 5ad1035f54
Update errorProneVersion to v2.22.0 (#1052)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-09-22 20:44:00 +00:00
Helen 0a6184590f
Support `thread.name` attributes in RuleBasedRoutingSampler (#1030)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-09-18 13:44:25 -07:00
OpenTelemetry Bot 0f2112f3cf
Update version to 1.31.0-SNAPSHOT (#1048) 2023-09-18 15:41:54 +00:00
Trask Stalnaker 2acbe763f6
Change log for 1.30.0 (#1042) 2023-09-18 08:28:16 -07:00
Trask Stalnaker 538d860d17
Remove inactive component owners (#1046) 2023-09-18 08:27:49 -07:00
Trask Stalnaker cecff4e195
Add new components to issue templates (#1045) 2023-09-18 08:26:57 -07:00
Trask Stalnaker 811d8d7e1c
Update otel version (#1041) 2023-09-17 11:11:49 -07:00
renovate[bot] d983e7f515
Update dependency io.opentelemetry.javaagent:opentelemetry-javaagent to v1.30.0 (#1039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-15 08:48:26 +02:00
renovate[bot] bb019ac15e
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.8 (#1040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-14 12:56:48 -07:00
renovate[bot] 424fbddd1d
Update micrometer packages to v1.11.4 (#1037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-13 12:56:25 -07:00
renovate[bot] b05023dc63
Update gradle enterprise packages to v3.15 (#1038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-13 12:30:57 -07:00
renovate[bot] b13576dca4
Update autoValueVersion to v1.10.4 (#1033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-11 10:06:01 +02:00
renovate[bot] 43cabe43be
Update dependency com.uber.nullaway:nullaway to v0.10.14 (#1031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-08 08:31:05 +02:00
LikeTheSalad d56ea370f1
Signals processing (#1014) 2023-09-07 15:56:55 -07:00
renovate[bot] 7e4637a56a
Update dependency io.grpc:grpc-bom to v1.58.0 (#1029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-07 13:25:10 +02:00
renovate[bot] 2480afd12e
Update actions/checkout action to v4 (#1027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-05 13:22:25 -07:00
jason plumb c193c0b1a1
Add some libraries missing from the main README (#1028) 2023-09-05 13:15:08 -07:00
renovate[bot] 37e85b9aa8
Update slf4jVersion to v2.0.9 (#1026) 2023-09-05 14:17:52 +02:00
renovate[bot] 72c6603c62
Update dependency com.uber.nullaway:nullaway to v0.10.13 (#1025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 18:16:36 -07:00
renovate[bot] 414a036e3d
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.21.0 (#1023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-29 11:56:43 -07:00
renovate[bot] 9c58a399a6
Update plugin com.diffplug.spotless to v6.21.0 (#1024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-29 11:56:33 -07:00
Cyrille Le Clerc 2fc1a5024a
Disable OTel SDK shutdown hook registration (#1022) 2023-08-28 14:35:51 -07:00
renovate[bot] 9d93cd902f
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.7 (#1021)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-27 18:36:16 -07:00
renovate[bot] 9ae650b2bc
Update dependency com.linecorp.armeria:armeria-bom to v1.25.2 (#1020)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-25 14:33:46 +02:00
LikeTheSalad 8bfad76187
Removing protobuf dependency (#1008)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-08-24 15:04:56 +00:00
renovate[bot] 493f3c5b1a
Update dependency com.linecorp.armeria:armeria-bom to v1.25.1 (#1019) 2023-08-24 07:58:06 +02:00
OpenTelemetry Bot 8306007749
Update version to 1.30.0-SNAPSHOT (#1016) 2023-08-23 16:31:40 +00:00
Trask Stalnaker ceb5a82d18
Update change log (#1013) 2023-08-23 09:14:49 -07:00
renovate[bot] 863fb725e5
Update dependency com.linecorp.armeria:armeria-bom to v1.25.0 (#1012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-22 07:47:30 -07:00
renovate[bot] 30665f73d4
Update dependency org.codehaus.groovy:groovy-bom to v3.0.19 (#1011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-22 11:21:22 +02:00
renovate[bot] be3aa3b157
Update dependency org.testcontainers:testcontainers-bom to v1.19.0 (#1010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-21 23:18:26 +00:00
kes2464 3af6cf32c1
add a provider for consistent parent based probability sampler (#1005) 2023-08-18 08:14:29 -07:00
renovate[bot] 87825466e7
Update dependency gradle to v8.3 (#1007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-17 09:14:49 +00:00
renovate[bot] c8917e4d2d
Update dependency io.opentelemetry.javaagent:opentelemetry-javaagent to v1.29.0 (#1006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-17 11:07:31 +02:00
Trask Stalnaker 67ea05899b
Remove unused plugin (#1004) 2023-08-16 13:05:14 -07:00
Trask Stalnaker ace301ed98
Use dependency management versions (#1002) 2023-08-16 12:19:37 +02:00
Trask Stalnaker 224cf30680
Fix gradle deprecated warning (#1003) 2023-08-16 12:19:08 +02:00
renovate[bot] 52658537aa
Update autoValueVersion to v1.10.3 (#1000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 16:10:36 -07:00
renovate[bot] 2fcaa202fd
Update dependency io.grpc:grpc-bom to v1.57.2 (#1001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 16:10:07 -07:00
Trask Stalnaker bc93856e1b
Group micrometer renovate updates (#998) 2023-08-15 07:44:21 -07:00
renovate[bot] 06b613fe96
Update dependency io.micrometer:micrometer-registry-prometheus to v1.11.3 (#997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 17:43:46 -07:00
renovate[bot] 015dd0a00c
Update dependency io.micrometer:micrometer-core to v1.11.3 (#996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 17:43:39 -07:00
renovate[bot] 5d18984248
Update dependency net.bytebuddy:byte-buddy-agent to v1.14.6 (#995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 15:31:54 -07:00
renovate[bot] 26760e7e8a
Update errorProneVersion to v2.21.1 (#994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-04 16:52:43 -07:00
Alex Kats aa0ca10242
Added transformation closure to MBeanHelper (#960) 2023-08-04 10:02:36 -07:00
renovate[bot] d50127bd1a
Update errorProneVersion to v2.21.0 (#989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-08-03 10:36:42 -07:00
Trask Stalnaker f75d7b5c4d
Update release instructions to reflect dependabot -> renovate (#993) 2023-08-03 11:29:13 +02:00
renovate[bot] 9aa5505baa
Update dependency com.uber.nullaway:nullaway to v0.10.12 (#991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 18:01:46 -07:00
renovate[bot] c91adec0c8
Update dependency io.grpc:grpc-bom to v1.57.1 (#988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-01 21:57:30 +00:00
renovate[bot] 175effc610
Update dependency io.grpc:grpc-bom to v1.57.0 (#985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 16:20:45 -07:00
jason plumb d0236147c7
[disk-buffering] Migrate StorageFile to FileOperations (#986) 2023-07-31 16:20:25 -07:00
renovate[bot] 35b4e7a045
Update dependency com.google.guava:guava-bom to v32.1.2-jre (#987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 16:13:11 -07:00
Trask Stalnaker fe3a41353b
Consolidate gradle enterprise version bumps (#984) 2023-07-27 13:09:09 +02:00
Sam DeHaan 47f05dee61
[jmx-metrics] Collect in callback (#949)
Co-authored-by: Ryan Fitzpatrick <10867373+rmfitzpatrick@users.noreply.github.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2023-07-26 11:17:03 -07:00
renovate[bot] ef14fb0ca7
Update plugin com.gradle.enterprise to v3.14.1 (#982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 14:48:46 +00:00
renovate[bot] 9e4de617d7
Update dependency com.gradle.enterprise:com.gradle.enterprise.gradle.plugin to v3.14.1 (#981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 07:44:27 -07:00
Trask Stalnaker 895d43d8a3
Remove dependabot (#978) 2023-07-26 07:38:06 -07:00
renovate[bot] 38b14d9b21
Update dependency com.linecorp.armeria:armeria-bom to v1.24.3 (#980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-25 16:26:21 -07:00
renovate[bot] eb5d1771ec
Update dependency org.junit:junit-bom to v5.10.0 (#979)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-23 19:17:16 -07:00
renovate[bot] 8d8ab736bf
Update dependency io.micrometer:micrometer-core to v1.11.2 (#970)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 14:09:53 -07:00
renovate[bot] 99201134f6
Update gradle/wrapper-validation-action action to v1.1.0 (#977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 14:09:33 -07:00
Trask Stalnaker 8e4b2caca3
Renovate config updates (#976) 2023-07-21 14:06:56 -07:00
renovate[bot] 8ac6527752
Update autovalueVersion to v1.10.2 (#967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-20 17:20:24 +00:00
renovate[bot] bda6cb0fec
Configure Renovate (#966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-20 17:16:57 +00:00
dependabot[bot] e02149cbbc
Bump com.gradle.enterprise:com.gradle.enterprise.gradle.plugin from 3.13.4 to 3.14 (#964)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 07:52:51 -07:00
dependabot[bot] ee7d0079c2
Bump com.gradle.enterprise from 3.13.4 to 3.14 (#963)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 07:52:31 -07:00
dependabot[bot] cf0c35cde3
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.19.0 to 6.20.0 (#962)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 16:38:58 +02:00
dependabot[bot] 29c09984d9
Bump com.diffplug.spotless from 6.19.0 to 6.20.0 (#961)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 16:38:06 +02:00
jason plumb 994063d823
disk-buffering refactoring (#957) 2023-07-17 10:53:28 -07:00
OpenTelemetry Bot 5580960042
Update version to 1.29.0-SNAPSHOT (#955) 2023-07-14 13:36:10 -07:00
Trask Stalnaker 2843f7ea55
Update change log (#954) 2023-07-14 13:10:19 -07:00
dependabot[bot] ffb2afe358
Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.27.0-alpha to 1.28.0-alpha (#952)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-07-14 11:55:47 -07:00
dependabot[bot] 80e4a8ee77
Bump io.opentelemetry.javaagent:opentelemetry-javaagent from 1.27.0 to 1.28.0 (#951)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-14 10:45:23 -07:00
LikeTheSalad 2b8888dc38
Signal disk buffering (#913)
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
Co-authored-by: jack-berg <34418638+jack-berg@users.noreply.github.com>
2023-07-14 10:44:49 -07:00
dependabot[bot] 3623f98906
Bump io.micrometer:micrometer-registry-prometheus from 1.11.1 to 1.11.2 (#950)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 09:18:02 -07:00
github-actions[bot] 16bc43e13b
Update Gradle Wrapper from 8.2 to 8.2.1 (#948)
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
Co-authored-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2023-07-11 09:17:02 -07:00
dependabot[bot] a4a06efac1
Bump io.grpc:grpc-bom from 1.56.0 to 1.56.1 (#946)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 14:19:45 -07:00
dependabot[bot] 5035431b22
Bump com.google.guava:guava-bom from 32.1.0-jre to 32.1.1-jre (#947)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 14:19:25 -07:00
scaugrated d9aaf2d587
generate error/fault metrics by aws sdk status code (#924) 2023-07-03 14:17:02 -07:00
github-actions[bot] 17d03c84c0
Update Gradle Wrapper from 8.1.1 to 8.2 (#945)
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
Co-authored-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2023-07-03 09:29:12 +02:00
Trask Stalnaker e9bdf1b397
Make gradle update PRs run workflows (#944) 2023-07-02 08:15:00 -07:00
dependabot[bot] 5bb0074c96
Bump com.google.guava:guava-bom from 32.0.1-jre to 32.1.0-jre (#941)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 08:18:19 -07:00
dependabot[bot] 9ddf337361
Bump com.linecorp.armeria:armeria-bom from 1.24.1 to 1.24.2 (#938)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 09:34:10 +02:00
dependabot[bot] b7fbaae0ba
Bump org.codehaus.groovy:groovy-bom from 3.0.17 to 3.0.18 (#940)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-29 14:33:45 +02:00
dependabot[bot] 401a85d475
Bump autoValueVersion from 1.10.1 to 1.10.2 (#939)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-29 14:33:21 +02:00
dependabot[bot] 440cda1f8c
Bump com.uber.nullaway:nullaway from 0.10.10 to 0.10.11 (#935)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-23 15:10:11 +02:00
dependabot[bot] f683783a46
Bump com.linecorp.armeria:armeria-bom from 1.24.0 to 1.24.1 (#933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-21 18:00:07 +02:00
dependabot[bot] d39cc1df40
Bump com.gradle.enterprise:com.gradle.enterprise.gradle.plugin from 3.13.3 to 3.13.4 (#932)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 15:08:00 +02:00
dependabot[bot] 9aa0b3ff40
Bump com.gradle.enterprise from 3.13.3 to 3.13.4 (#931)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 15:07:39 +02:00
OpenTelemetry Bot 3fda8acbe2
Update version to 1.28.0-SNAPSHOT (#927) 2023-06-16 19:57:27 +00:00
Trask Stalnaker f3f9e260fc
Update change log (#925) 2023-06-16 12:49:07 -07:00
atshaw43 c4645f7d96
Add links based sample option to config (#903)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-06-16 09:23:17 -07:00
Min Xia 047bd89f39
Enhance AWS APM metrics mapping implementation (#906) 2023-06-16 09:22:08 -07:00
dependabot[bot] 763ddea48a
Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.26.0-alpha to 1.27.0-alpha (#922)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-06-15 13:41:14 +00:00
dependabot[bot] 76a62a74c6
Bump com.linecorp.armeria:armeria-bom from 1.23.1 to 1.24.0 (#921)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-15 15:40:18 +02:00
dependabot[bot] 1b1d85e8b3
Bump io.opentelemetry.javaagent:opentelemetry-javaagent from 1.26.0 to 1.27.0 (#923)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-15 14:05:40 +02:00
dependabot[bot] d1bbf13af3
Bump io.grpc:grpc-bom from 1.55.1 to 1.56.0 (#920)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-14 16:09:02 +02:00
Trask Stalnaker a6bdc99c76
Move iNikem to emeritus (#915) 2023-06-13 10:13:58 -07:00
dependabot[bot] b901c6ee3b
Bump io.micrometer:micrometer-registry-prometheus from 1.11.0 to 1.11.1 (#917)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 16:40:15 +02:00
dependabot[bot] 1685c1dfbc
Bump autoServiceVersion from 1.1.0 to 1.1.1 (#916)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 16:39:38 +02:00
Trask Stalnaker 98a8ac877e
Use standard org secret OPENTELEMETRYBOT_GITHUB_TOKEN (#914) 2023-06-12 15:10:10 -07:00
dependabot[bot] 89bbca0536
Bump com.google.guava:guava-bom from 32.0.0-jre to 32.0.1-jre (#911)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-09 10:55:52 -07:00
dependabot[bot] f741558fb7
Bump com.github.ben-manes.versions from 0.46.0 to 0.47.0 (#912)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-09 10:55:34 -07:00
dependabot[bot] 456e8c9d52
Bump io.opentelemetry.proto:opentelemetry-proto from 0.19.0-alpha to 0.20.0-alpha (#909)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 14:25:41 +02:00
jack-berg 889b5e2596
Add gradle enterprise key (#908) 2023-06-07 17:54:25 -07:00
jack-berg 92352b9998
Publish build scans to ge.opentelemetry.io (#907) 2023-06-07 16:57:23 -07:00
dependabot[bot] 2857be5c45
Bump io.github.netmikey.logunit:logunit-jul from 1.1.3 to 2.0.0 (#905)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-02 09:02:25 -07:00
dependabot[bot] 44824cf28c
Bump net.bytebuddy:byte-buddy-agent from 1.14.4 to 1.14.5 (#904)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-02 08:59:27 -07:00
dependabot[bot] fed25dd3e7
Bump org.testcontainers:testcontainers-bom from 1.18.2 to 1.18.3 (#902) 2023-06-01 14:16:19 +02:00
dependabot[bot] 117cced24b
Bump com.fasterxml.jackson:jackson-bom from 2.15.1 to 2.15.2 (#900)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 14:11:06 +02:00
dependabot[bot] 733397ec17
Bump org.testcontainers:testcontainers-bom from 1.18.1 to 1.18.2 (#899)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 14:10:48 +02:00
dependabot[bot] 4b09932bdb
Bump com.google.guava:guava-bom from 31.1-jre to 32.0.0-jre (#898)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-29 16:35:10 +02:00
dependabot[bot] 128d67cb5c
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.18.0 to 6.19.0 (#893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-05-26 09:26:50 +00:00
dependabot[bot] eecb9964ec
Bump com.gradle.enterprise:com.gradle.enterprise.gradle.plugin from 3.13.2 to 3.13.3 (#895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-25 08:00:48 -07:00
dependabot[bot] 44a94dfbd4
Bump com.gradle.enterprise from 3.13.2 to 3.13.3 (#896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-25 08:00:26 -07:00
dependabot[bot] 1f9784c186
Bump com.diffplug.spotless from 6.18.0 to 6.19.0 (#894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 07:51:19 -07:00
Trask Stalnaker 459f1012fc
Review comment follow-up (#891) 2023-05-24 07:50:57 -07:00
Trask Stalnaker 722acacd44
Better workflow notifications (#892) 2023-05-24 07:42:06 -07:00
Trask Stalnaker 48ce0485e4
Stop publishing static instrumenter maven plugin (#888) 2023-05-24 07:37:55 -07:00
Trask Stalnaker 2a65bc101c
Add gradle conventions to contributing (#336) 2023-05-24 07:29:49 -07:00
atshaw43 22d0f8229b
Links based sampler (#813) 2023-05-23 14:03:09 -07:00
dependabot[bot] c2566ce909
Bump autoServiceVersion from 1.0.1 to 1.1.0 (#889)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 13:21:49 -07:00
Trask Stalnaker 390efd7be6
Test against Java 8, 11, 17, and 20 (#885) 2023-05-23 20:05:07 +00:00
Trask Stalnaker 591fe5084b
Auto-update gradle wrapper (#883) 2023-05-23 19:52:21 +00:00
Trask Stalnaker 1c5e32c208
Clean up labels (#886) 2023-05-23 07:47:53 -07:00
Trask Stalnaker 5da7c48fee
Add needs feedback workflow (#887) 2023-05-23 07:47:27 -07:00
Trask Stalnaker db44bbb2a7
Update issue templates (#884) 2023-05-23 07:47:09 -07:00
Trask Stalnaker 4dbdf78633
Update gradle (#882) 2023-05-19 09:26:53 +02:00
OpenTelemetry Bot a55d0b2168
Update version to 1.27.0-SNAPSHOT (#880) 2023-05-17 15:47:45 +00:00
Trask Stalnaker e8edd8e300
Disable sporadically failing test (#878) 2023-05-17 08:35:58 -07:00
Trask Stalnaker 0ddf1de679
Update change log (#875) 2023-05-17 08:09:56 -07:00
dependabot[bot] 2867fed05b
Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.8.2 to 3.9.0 (#873)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-17 14:58:06 +00:00
dependabot[bot] cd4eb24ed1
Bump errorProneVersion from 2.18.0 to 2.19.1 (#868)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-05-17 07:45:32 -07:00
dependabot[bot] 5d70cdf60a
Bump com.fasterxml.jackson:jackson-bom from 2.15.0 to 2.15.1 (#874)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-17 07:45:21 -07:00
Trask Stalnaker 586086be0d
Retry tests (#876) 2023-05-17 07:45:09 -07:00
Thomas Pierce fbf8304688
Add new components to allow for generating metrics from 100% of spans without impacting sampling (#802) 2023-05-15 16:05:50 -07:00
dependabot[bot] d305bf68c9
Bump net.ltgt.gradle:gradle-nullaway-plugin from 1.5.0 to 1.6.0 (#872)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 13:13:28 -07:00
dependabot[bot] 475a47d112
Bump io.opentelemetry.javaagent:opentelemetry-javaagent from 1.25.1 to 1.26.0 (#869)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-11 21:05:55 +00:00
dependabot[bot] a12d572018
Bump org.testcontainers:testcontainers-bom from 1.18.0 to 1.18.1 (#871)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-11 14:02:15 -07:00
dependabot[bot] 6bb047b67d
Bump com.gradle.enterprise from 3.13 to 3.13.2 (#867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-11 21:01:47 +00:00
dependabot[bot] 3ab5f74307
Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.25.1-alpha to 1.26.0-alpha (#870)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-11 13:46:35 -07:00
dependabot[bot] 3ce85a2c2b
Bump io.grpc:grpc-bom from 1.54.1 to 1.55.1 (#866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-10 11:09:40 -07:00
Thomas Pierce e24705d688
Add AttributePropagatingSpanProcessor component to AWS X-Ray (#856)
Co-authored-by: Mengyi Zhou <zmengyi@amazon.com>
2023-05-09 13:31:06 -07:00
dependabot[bot] fdc3060a81
Bump io.micrometer:micrometer-registry-prometheus from 1.10.6 to 1.11.0 (#864)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 11:10:17 -07:00
dependabot[bot] 7c205af4be
Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.25.0-alpha to 1.25.1-alpha (#859)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-28 11:28:08 -07:00
dependabot[bot] fecac63e49
Bump io.opentelemetry.javaagent:opentelemetry-javaagent from 1.25.0 to 1.25.1 (#858)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-28 11:27:42 -07:00
William Armiros ad2f76aa5a
[chore] update AWS component owners (#820) 2023-04-28 09:28:21 +02:00
dependabot[bot] ce96fb1c8e
Bump org.junit:junit-bom from 5.9.2 to 5.9.3 (#854)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 09:10:12 -05:00
dependabot[bot] 2c65e25299
Bump com.fasterxml.jackson:jackson-bom from 2.14.2 to 2.15.0 (#848)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 12:11:45 +02:00
dependabot[bot] 43886c2029
Bump com.squareup.okhttp3:okhttp from 4.10.0 to 4.11.0 (#849)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 11:31:58 +02:00
dependabot[bot] 3634a770f0
Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.8.1 to 3.8.2 (#851)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 11:31:18 +02:00
dependabot[bot] b34c6cbc10
Bump net.ltgt.gradle:gradle-errorprone-plugin from 3.0.1 to 3.1.0 (#850)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 10:57:11 +02:00
dependabot[bot] f01a619b4d
Bump mockitoVersion from 5.3.0 to 5.3.1 (#847)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 10:56:09 +02:00
jack-berg 3ecbf02f43
Delete jfr-streaming module (#852) 2023-04-24 20:53:24 -07:00
OpenTelemetry Bot b3d13db3c2
Merge change log updates from release/v1.25.x (#845) 2023-04-21 12:10:02 -07:00
Derek Mitchell eb24f80e35
Adding support for scenarios where the RMI registry has SSL enabled (#835)
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2023-04-21 10:46:16 -07:00
Trask Stalnaker 721d1d57f5
Update to open-telemetry/assign-reviewers-action (#819) 2023-04-21 08:12:24 -07:00
Trask Stalnaker a31d919b6a
Update release steps (#836) 2023-04-21 08:05:03 -07:00
dependabot[bot] 670769fc6b
Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha from 1.24.0-alpha to 1.25.0-alpha (#823)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-20 22:40:19 +00:00
Trask Stalnaker cd5dabae29
Avoid dependency bom conflict (#837) 2023-04-20 14:57:46 -07:00
dependabot[bot] 7b35d9b14a
Bump io.grpc:grpc-bom from 1.54.0 to 1.54.1 (#825)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-20 12:58:54 -07:00
Cyrille Le Clerc fe2d9a0f9a
[README.md] Fix employer name (#833) 2023-04-19 20:45:06 +00:00
OpenTelemetry Bot d03c3b5c2d
Update version to 1.26.0-SNAPSHOT (#829) 2023-04-18 12:03:02 -07:00
Trask Stalnaker e9c52ab6cc
Update change log for 1.25.0 release (#828) 2023-04-18 11:23:48 -07:00
dependabot[bot] 16b3c085da
Bump org.openjdk.jmc:flightrecorder from 8.3.0 to 8.3.1 (#826)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 15:27:09 +00:00
dependabot[bot] eda4cfa6de
Bump org.openjdk.jmc:common from 8.3.0 to 8.3.1 (#827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 08:13:32 -07:00
dependabot[bot] dc2bd02c2b
Bump io.opentelemetry.javaagent:opentelemetry-javaagent from 1.24.0 to 1.25.0 (#824)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 08:40:34 -07:00
dependabot[bot] 2fcdc054f5
Bump com.gradle.enterprise from 3.12.6 to 3.13 (#822)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-13 06:54:07 -07:00
dependabot[bot] 3c16977492
Bump mockitoVersion from 5.2.0 to 5.3.0 (#821)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 08:20:06 -07:00
dependabot[bot] b97c51f129
Bump io.micrometer:micrometer-registry-prometheus from 1.10.5 to 1.10.6 (#818)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 15:48:22 +02:00
Cyrille Le Clerc 99c217c29e
README: Bump version in config sample (#808) 2023-04-10 19:39:55 -07:00
dependabot[bot] 09887697a6
Bump com.linecorp.armeria:armeria-bom from 1.23.0 to 1.23.1 (#816)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 19:37:55 -07:00
David Grieve a05520876b
add module jfr-connection (#767)
Co-authored-by: Martijn Verburg <martijnverburg@gmail.com>
2023-04-07 07:51:17 -07:00
dependabot[bot] 4316fbbb41
Bump com.linecorp.armeria:armeria-bom from 1.22.1 to 1.23.0 (#815) 2023-04-07 06:57:32 -07:00
dependabot[bot] 7be6a0ed1e
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.17.0 to 6.18.0 (#810)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-04-06 15:57:50 +00:00
dependabot[bot] 0ff7751f04
Bump net.bytebuddy:byte-buddy-agent from 1.14.3 to 1.14.4 (#811)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 08:37:20 -07:00
dependabot[bot] 2d135605f9
Bump com.diffplug.spotless from 6.17.0 to 6.18.0 (#812)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 08:37:08 -07:00
dependabot[bot] 73e6f43c60
Bump org.testcontainers:testcontainers-bom from 1.17.6 to 1.18.0 (#809) 2023-04-05 11:01:08 -07:00
Thomas Pierce e1a86db303
Breakout ResourceHolder from AwsXrayRemoteSamplerProvider (#801)
**Description:**

ResourceHolder provides generic utility for other components in the
awsxray package, and could be more broadly used. In this commit, we are
breaking out the ResourceHolder inner class to it's own class, and
exposing the functionality of getResource, so that other classes can
rely on it.

Specifically, we are working on new components to meet the needs of
https://github.com/open-telemetry/opentelemetry-java-contrib/issues/789,
which will require the use of this ResourceHolder. Opening up
ResourceHolder seems to us to be the best path forward.

**Existing Issue(s):**

Tangentially related:
https://github.com/open-telemetry/opentelemetry-java-contrib/issues/789

**Testing:**

* Added unit tests, validated they all pass
* `./gradlew clean assemble` succeeds

**Documentation:**

Unclear if any documentation is required here, can help contribute this
as needed. ResourceHolder is a new independent component that can be
used to retrieve the Resource from autoconfiguration.

**Outstanding items:**

None
2023-04-03 16:43:03 -07:00
OpenTelemetry Bot c5871a47de
Update version to 1.25.0-SNAPSHOT (#805)
Update version to `1.25.0-SNAPSHOT`.
2023-04-03 16:25:43 +00:00
745 changed files with 50836 additions and 9025 deletions

6
.clomonitor.yml Normal file
View File

@ -0,0 +1,6 @@
# see https://github.com/cncf/clomonitor/blob/main/docs/checks.md#exemptions
exemptions:
- check: artifacthub_badge
reason: "Artifact Hub doesn't support Java packages"
- check: openssf_badge
reason: "ETOOMANYBADGES, but the work has been done: https://www.bestpractices.dev/projects/9992"

11
.fossa.yml Normal file
View File

@ -0,0 +1,11 @@
version: 3
targets:
only:
- type: gradle
experimental:
gradle:
configurations-only:
# consumer will only be exposed to these dependencies
- runtimeClasspath

6
.github/CODEOWNERS vendored
View File

@ -1,9 +1,9 @@
#
# Learn about membership in OpenTelemetry community:
# https://github.com/open-telemetry/community/blob/main/community-membership.md
#
# https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md
#
# Learn about CODEOWNERS file format:
#
# Learn about CODEOWNERS file format:
# https://help.github.com/en/articles/about-code-owners
#

View File

@ -1,28 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Description**
A clear and concise description of what the bug is or observed behavior.
**Steps to reproduce**
Provide a (runnable) recipe for reproducing the error.
**Expectation**
A clear and concise description of what you expected to see.
**What applicable config did you use?**
Config: (e.g. the yaml config file)
**Relevant Environment Information**
Version: (e.g., `v0.0.1`, `2bef20a`, etc.)
OS: (e.g., "Ubuntu 20.04")
Compiler (if manually compiled): (e.g., "openJDK 1.8.0_252")
**Additional context**
Add any other context about the problem here.

59
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,59 @@
name: Bug report
description: Create a report to help us improve
labels: [ bug ]
body:
- type: dropdown
id: component
attributes:
label: Component(s)
description: Which component(s) does your bug report concern?
multiple: true
options:
- aws-resources
- aws-xray
- aws-xray-propagator
- consistent-sampling
- disk-buffering
- gcp-auth-extension
- gcp-resources
- jfr-connection
- jfr-events
- jmx-metrics
- jmx-scraper
- maven-extension
- micrometer-meter-provider
- noop-api
- processors
- prometheus-client-bridge
- resource-providers
- runtime-attach
- samplers
- type: textarea
attributes:
label: What happened?
description: Please provide as much detail as you reasonably can.
value: |
## Description
## Steps to Reproduce
## Expected Result
## Actual Result
validations:
required: true
- type: input
attributes:
label: Component version
description: What version did you use? (e.g., `v1.26.0`, `1eb551b`, etc)
validations:
required: true
- type: textarea
attributes:
label: Log output
description: Please copy and paste any relevant log output.
- type: textarea
attributes:
label: Additional context
description: Any additional information you think may be relevant to this issue.

7
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,7 @@
contact_links:
- name: StackOverflow
url: https://stackoverflow.com/questions/ask?tags=open-telemetry+java
about: Please ask questions here.
- name: Slack
url: https://cloud-native.slack.com/archives/C014L2KCTE3
about: Or here.

View File

@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -0,0 +1,50 @@
name: Feature request
description: Suggest an idea for this project
labels: [ enhancement ]
body:
- type: dropdown
id: component
attributes:
label: Component(s)
description: Which component(s) does your feature request concern?
multiple: true
options:
- aws-resources
- aws-xray
- aws-xray-propagator
- consistent-sampling
- disk-buffering
- gcp-auth-extension
- gcp-resources
- jfr-connection
- jfr-events
- jmx-metrics
- jmx-scraper
- maven-extension
- micrometer-meter-provider
- noop-api
- processors
- prometheus-client-bridge
- resource-providers
- runtime-attach
- samplers
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.

View File

@ -1,4 +1,4 @@
# this file is used by .github/workflows/component-codeowners.yml
# this file is used by .github/workflows/assign-reviewers.yml
#
# NOTE component owners must be members of the GitHub OpenTelemetry organization
# so that they can be added to @open-telemetry/java-contrib-triagers
@ -11,28 +11,49 @@
# `comp:*` labels
components:
aws-resources:
- willarmiros
- wangzlei
- srprash
aws-xray:
- willarmiros
- wangzlei
- srprash
aws-xray-propagator:
- willarmiros
- wangzlei
- srprash
azure-resources:
- trask
- zeitlinger
baggage-processor:
- mikegoldsmith
- zeitlinger
cloudfoundry-resources:
- KarstenSchnitter
compressors:
- jack-berg
consistent-sampling:
- oertl
- PeterF778
samplers:
- iNikem
- trask
disk-buffering:
- LikeTheSalad
- zeitlinger
gcp-resources:
- jsuereth
- psx95
gcp-auth-extension:
- jsuereth
- psx95
jfr-connection:
- breedx-splk
- jeanbisutti
- dsgrieve
jfr-events:
- sfriberg
jfr-streaming:
- breedx-splk
- jack-berg
- kittylyst
jmx-metrics:
- dehaansa
- Mrod1598
- rmfitzpatrick
- breedx-splk
- sylvainjuge
jmx-scraper:
- breedx-splk
- robsunday
- sylvainjuge
maven-extension:
- cyrille-leclerc
- kenfinnigan
@ -40,6 +61,10 @@ components:
- HaloFour
noop-api:
- jack-berg
processors:
- LikeTheSalad
- breedx-splk
- jack-berg
prometheus-collector:
- jkwatson
resource-providers:
@ -47,7 +72,21 @@ components:
- mateuszrzeszutek
- laurit
runtime-attach:
- iNikem
- jeanbisutti
static-instrumenter:
- anosek-an
samplers:
- trask
- jack-berg
kafka-exporter:
- spockz
- vincentfree
span-stacktrace:
- jackshirazi
- jonaskunz
- sylvainjuge
inferred-spans:
- jackshirazi
- jonaskunz
- sylvainjuge
opamp-client:
- LikeTheSalad
- jackshirazi

View File

@ -1,8 +0,0 @@
{
"retryOn429" : true,
"ignorePatterns" : [
{
"pattern" : "^https://github\\.com/open-telemetry/opentelemetry-java-contrib/network/updates$"
}
]
}

View File

@ -1,33 +0,0 @@
version: 2
registries:
gradle-plugin-portal:
type: maven-repository
url: https://plugins.gradle.org/m2
username: dummy # Required by dependabot
password: dummy # Required by dependabot
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "gradle"
directory: "/"
ignore:
- dependency-name: "io.micrometer:micrometer-core"
# compileOnly dependency on old micrometer-core version is intentional
versions: [ "(1.1.0,)" ]
- dependency-name: "org.apache.maven:maven-plugin-api"
# static instrumenter maven plugin uses old maven API version for better compatibility
versions: [ "(3.5.0,)" ]
- dependency-name: "org.apache.maven:maven-core"
# compileOnly dependency that matches the maven-plugin-api version in the static instrumenter maven plugin
versions: [ "(3.5.0,)" ]
- dependency-name: "org.junit-pioneer:junit-pioneer"
# junit-pioneer 2.x requires Java 11
versions: [ "[1,)" ]
registries:
- gradle-plugin-portal
schedule:
interval: "daily"
open-pull-requests-limit: 10

180
.github/renovate.json5 vendored Normal file
View File

@ -0,0 +1,180 @@
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'config:best-practices',
'helpers:pinGitHubActionDigestsToSemver',
],
ignorePresets: [
':ignoreModulesAndTests', // needed to keep maven-extension test pom files up-to-date
],
prHourlyLimit: 5, // we have a large number of parallel runners
labels: [
'dependencies'
],
packageRules: [
{
// reduces the number of Renovate PRs
// (patch updates are typically non-breaking)
"groupName": "all patch versions",
"matchUpdateTypes": ["patch"],
"schedule": ["before 8am every weekday"]
},
{
// avoids these Renovate PRs from trickling in throughout the week
// (consolidating the review process)
"matchUpdateTypes": ["minor", "major"],
"schedule": ["before 8am on Monday"]
},
{
matchPackageNames: [
'io.opentelemetry:**',
'io.opentelemetry.instrumentation:**',
'io.opentelemetry.semconv:**',
'io.opentelemetry.proto:**',
],
// Renovate's default behavior is only to update from unstable -> unstable if it's for the
// major.minor.patch, under the assumption that you would want to update to the stable version
// of that release instead of the unstable version for a future release
ignoreUnstable: false,
},
{
// prevent 3.0.1u2 -> 3.0.1
matchPackageNames: [
'com.google.code.findbugs:annotations',
],
allowedVersions: '!/^3\\.0\\.1$/',
},
{
// disruptor 4+ requires Java 11+
matchPackageNames: [
'com.lmax:disruptor',
],
matchUpdateTypes: [
'major',
],
enabled: false,
},
{
// junit-pioneer 2+ requires Java 11+
matchPackageNames: [
'org.junit-pioneer:junit-pioneer',
],
matchUpdateTypes: [
'major',
],
enabled: false,
},
{
// mockito 5+ requires Java 11+
matchUpdateTypes: [
'major',
],
enabled: false,
matchPackageNames: [
'org.mockito:{/,}**',
],
},
{
// agrona 1.23+ requires Java 17+
matchPackageNames: [
'org.agrona:agrona',
],
matchUpdateTypes: [
'major',
'minor',
],
enabled: false,
},
{
// system-stubs-jupiter 2.1+ requires Java 11+
matchPackageNames: [
'uk.org.webcompere:system-stubs-jupiter',
],
matchUpdateTypes: [
'major',
'minor',
],
enabled: false,
},
{
// pinned version for compatibility
matchPackageNames: [
'io.micrometer:micrometer-core',
],
matchCurrentVersion: '1.5.0',
enabled: false,
},
{
// pinned version for compatibility
matchCurrentVersion: '3.5.0',
enabled: false,
matchPackageNames: [
'org.apache.maven:{/,}**',
],
},
{
groupName: 'spotless packages',
matchPackageNames: [
'com.diffplug.spotless{/,}**',
],
},
{
groupName: 'hipparchus packages',
matchPackageNames: [
'org.hipparchus{/,}**',
],
},
{
groupName: 'errorprone packages',
matchPackageNames: [
'com.google.errorprone{/,}**',
],
},
{
// pinned version for compatibility with java 8 JFR parsing
matchUpdateTypes: [
'major',
],
enabled: false,
matchPackageNames: [
'org.openjdk.jmc{/,}**',
],
},
{
// pinned version for compatibility
matchFileNames: [
'jmx-scraper/test-webapp/build.gradle.kts',
],
matchCurrentVersion: '5.0.0',
enabled: false,
matchPackageNames: [
'jakarta.servlet:{/,}**',
],
},
{
// intentionally using Spring Boot 2 in gcp-auth-extension in order to test with Java 8+
matchFileNames: [
'gcp-auth-extension/build.gradle.kts',
],
matchUpdateTypes: [
'major',
],
enabled: false,
matchPackageNames: [
'org.springframework.boot{/,}**',
],
},
],
customManagers: [
{
customType: 'regex',
datasourceTemplate: 'npm',
managerFilePatterns: [
'/^.github/workflows//',
],
matchStrings: [
'npx (?<depName>[^@]+)@(?<currentValue>[^\\s]+)',
],
},
],
}

View File

@ -1,6 +1,17 @@
# Repository settings
Same
as [opentelemetry-java-instrumentation repository settings](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/.github/repository-settings.md#repository-settings)
,
except that the branch protection rules for `v*` and `gh-pages` are not needed in this repository.
This document describes any changes that have been made to the
settings in this repository outside the settings tracked in the
private admin repo.
## Merge queue for `main`
[The admin repo doesn't currently support tracking merge queue settings.]
- Require merge queue: CHECKED
- Build concurrency: 5
- Maximum pull requests to build: 5
- Minimum pull requests to merge: 1, or after 5 minutes
- Maximum pull requests to merge: 5
- Only merge non-failing pull requests: CHECKED
- Status check timeout: 60 minutes

View File

@ -0,0 +1,3 @@
# this file exists so that Renovate can auto-update docker image versions that are then used elsewhere
FROM lycheeverse/lychee:sha-2aa22f8@sha256:2e3786630482c41f9f2dd081e06d7da1c36d66996e8cf6573409b8bc418d48c4 AS lychee

View File

@ -27,18 +27,29 @@ declare -A component_names=()
component_names["aws-resources/"]="AWS resources"
component_names["aws-xray/"]="AWS X-Ray SDK support"
component_names["aws-xray-propagator/"]="AWS X-Ray propagator"
component_names["azure-resources/"]="Azure resources"
component_names["baggage-processor/"]="Baggage processor"
component_names["cloudfoundry-resources/"]="CloudFoundry resources"
component_names["compressors/"]="Compressors"
component_names["consistent-sampling/"]="Consistent sampling"
component_names["disk-buffering/"]="Disk buffering"
component_names["gcp-resources/"]="GCP resources"
component_names["gcp-auth-extension/"]="GCP authentication extension"
component_names["inferred-spans/"]="Inferred spans"
component_names["jfr-connection/"]="JFR connection"
component_names["jfr-events/"]="JFR events"
component_names["jfr-streaming/"]="JFR streaming"
component_names["jmx-metrics/"]="JMX metrics"
component_names["jmx-scraper/"]="JMX scraper"
component_names["kafka-exporter/"]="Kafka exporter"
component_names["maven-extension/"]="Maven extension"
component_names["micrometer-meter-provider/"]="Micrometer MeterProvider"
component_names["noop-api/"]="No-op API"
component_names["processors/"]="Telemetry processors"
component_names["prometheus-client-bridge/"]="Prometheus client bridge"
component_names["runtime-attach/"]="Runtime attach"
component_names["resource-providers/"]="Resource providers"
component_names["samplers/"]="Samplers"
component_names["static-instrumenter/"]="Static instrumenter"
component_names["span-stacktrace/"]="Span stack traces"
echo "## Unreleased"
echo
@ -47,7 +58,7 @@ for component in */ ; do
component_name=${component_names[$component]:=$component}
commits=$(git log --reverse \
--perl-regexp \
--author='^(?!dependabot\[bot\] )' \
--author='^(?!renovate\[bot\] )' \
--pretty=format:"- %s" \
"$range" \
"$component")

View File

@ -79,11 +79,12 @@ query($q: String!, $endCursor: String) {
| sed 's/^\["//' \
| sed 's/".*//')
# TODO (trask) can remove dependabot line after next release
echo $contributors1 $contributors2 \
| sed 's/ /\n/g' \
| sort -uf \
| grep -v linux-foundation-easycla \
| grep -v github-actions \
| grep -v dependabot \
| grep -v opentelemetrybot \
| grep -v renovate \
| grep -v otelbot \
| sed 's/^/@/'

View File

@ -1,3 +1,3 @@
#!/bin/bash -e
grep -Po "val stableVersion = \"\K[0-9]+.[0-9]+.[0-9]+" version.gradle.kts
grep "val stableVersion = " version.gradle.kts | grep -Eo "[0-9]+.[0-9]+.[0-9]+"

62
.github/scripts/link-check.sh vendored Executable file
View File

@ -0,0 +1,62 @@
#!/bin/bash
set -e
export MSYS_NO_PATHCONV=1 # for Git Bash on Windows
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$SCRIPT_DIR/../.."
DEPENDENCIES_DOCKERFILE="$SCRIPT_DIR/dependencies.Dockerfile"
# Parse command line arguments
LOCAL_LINKS_ONLY=false
TARGET=""
while [[ $# -gt 0 ]]; do
case $1 in
--local-links-only)
LOCAL_LINKS_ONLY=true
shift
;;
*)
# Treat any other arguments as file paths
TARGET="$TARGET $1"
shift
;;
esac
done
# Extract lychee version from dependencies.dockerfile
LYCHEE_VERSION=$(grep "FROM lycheeverse/lychee:" "$DEPENDENCIES_DOCKERFILE" | sed 's/.*FROM lycheeverse\/lychee:\([^ ]*\).*/\1/')
if [[ -z "$TARGET" ]]; then
TARGET="."
fi
# Build the lychee command with optional GitHub token
CMD="lycheeverse/lychee:$LYCHEE_VERSION --verbose --root-dir /data"
# Add GitHub token if available
if [[ -n "$GITHUB_TOKEN" ]]; then
CMD="$CMD --github-token $GITHUB_TOKEN"
fi
if [[ "$LOCAL_LINKS_ONLY" == "true" ]]; then
CMD="$CMD --scheme file --include-fragments"
else
CMD="$CMD --config .github/scripts/lychee-config.toml"
fi
CMD="$CMD $TARGET"
# Determine if we should allocate a TTY
DOCKER_FLAGS="--rm --init"
if [[ -t 0 ]]; then
DOCKER_FLAGS="$DOCKER_FLAGS -it"
else
DOCKER_FLAGS="$DOCKER_FLAGS -i"
fi
# Run lychee with proper signal handling
# shellcheck disable=SC2086
exec docker run $DOCKER_FLAGS -v "$ROOT_DIR":/data -w /data $CMD

16
.github/scripts/lychee-config.toml vendored Normal file
View File

@ -0,0 +1,16 @@
timeout = 30
retry_wait_time = 5
max_retries = 6
max_concurrency = 4
# Check link anchors
include_fragments = true
# excluding links to pull requests and issues is done for performance
# sonatype snapshots are currrently unbrowseable
exclude = [
"^https://github.com/open-telemetry/opentelemetry-java-contrib/(issues|pull)/\\d+$",
'^https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/opentelemetry/contrib/$',
]

View File

@ -1,17 +0,0 @@
#!/bin/bash -e
# this script helps to reduce sporadic link check failures by retrying at a file-by-file level
retry_count=3
for file in "$@"; do
for i in $(seq 1 $retry_count); do
if markdown-link-check --config "$(dirname "$0")/../config/markdown-link-check-config.json" \
"$file"; then
break
elif [[ $i -eq $retry_count ]]; then
exit 1
fi
sleep 5
done
done

4
.github/scripts/use-cla-approved-bot.sh vendored Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash -e
git config user.name otelbot
git config user.email 197425009+otelbot@users.noreply.github.com

View File

@ -1,4 +0,0 @@
#!/bin/bash -e
git config user.name opentelemetrybot
git config user.email 107717825+opentelemetrybot@users.noreply.github.com

View File

@ -8,8 +8,16 @@ on:
# because repository write permission is needed to assign reviewers
pull_request_target:
permissions:
contents: read
jobs:
assign-reviewers:
permissions:
contents: read
pull-requests: write # for assigning reviewers
runs-on: ubuntu-latest
steps:
- uses: dyladan/component-owners@main
- uses: open-telemetry/assign-reviewers-action@fcd27c5381c10288b23d423ab85473710a33389e # main
with:
config-file: .github/component_owners.yml

View File

@ -0,0 +1,94 @@
name: Auto spotless apply
on:
workflow_run:
workflows:
- "Auto spotless check"
types:
- completed
permissions:
contents: read
jobs:
apply:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Download patch
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
run-id: ${{ github.event.workflow_run.id }}
path: ${{ runner.temp }}
merge-multiple: true
github-token: ${{ github.token }}
- id: unzip-patch
name: Unzip patch
working-directory: ${{ runner.temp }}
run: |
if [ -f patch ]; then
echo "exists=true" >> $GITHUB_OUTPUT
fi
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: steps.unzip-patch.outputs.exists == 'true'
id: otelbot-token
with:
app-id: 1296620
private-key: ${{ secrets.OTELBOT_JAVA_CONTRIB_PRIVATE_KEY }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
if: steps.unzip-patch.outputs.exists == 'true'
with:
repository: "${{ github.event.workflow_run.head_repository.full_name }}"
ref: "${{ github.event.workflow_run.head_branch }}"
token: ${{ steps.otelbot-token.outputs.token }}
- name: Use CLA approved github bot
if: steps.unzip-patch.outputs.exists == 'true'
# IMPORTANT do not call the .github/scripts/use-cla-approved-bot.sh
# since that script could have been compromised in the PR branch
run: |
git config user.name otelbot
git config user.email 197425009+otelbot@users.noreply.github.com
- name: Apply patch and push
if: steps.unzip-patch.outputs.exists == 'true'
run: |
git apply "${{ runner.temp }}/patch"
git commit -a -m "./gradlew spotlessApply"
git push
- id: get-pr
if: steps.unzip-patch.outputs.exists == 'true'
name: Get PR
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
PR_BRANCH: |-
${{
(github.event.workflow_run.head_repository.owner.login != github.event.workflow_run.repository.owner.login)
&& format('{0}:{1}', github.event.workflow_run.head_repository.owner.login, github.event.workflow_run.head_branch)
|| github.event.workflow_run.head_branch
}}
run: |
number=$(gh pr view "$PR_BRANCH" --json number --jq .number)
echo "number=$number" >> $GITHUB_OUTPUT
- if: steps.unzip-patch.outputs.exists == 'true' && success()
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
PR_NUMBER: ${{ steps.get-pr.outputs.number }}
run: |
gh pr comment $PR_NUMBER --body "🔧 The result from spotlessApply was committed to the PR branch."
- if: steps.unzip-patch.outputs.exists == 'true' && failure()
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
PR_NUMBER: ${{ steps.get-pr.outputs.number }}
run: |
gh pr comment $PR_NUMBER --body "❌ The result from spotlessApply could not be committed to the PR branch, see logs: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID."

View File

@ -0,0 +1,53 @@
name: Auto spotless check
on:
pull_request:
types:
- opened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
with:
cache-read-only: true
- name: Check out PR branch
env:
GH_TOKEN: ${{ github.token }}
run: gh pr checkout ${{ github.event.pull_request.number }}
- name: Spotless
run: ./gradlew spotlessApply
- id: create-patch
name: Create patch file
run: |
git diff > patch
if [ -s patch ]; then
echo "exists=true" >> "$GITHUB_OUTPUT"
fi
- name: Upload patch file
if: steps.create-patch.outputs.exists == 'true'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
path: patch
name: patch

View File

@ -6,8 +6,13 @@ on:
description: "The pull request # to backport"
required: true
permissions:
contents: read
jobs:
backport:
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
steps:
- run: |
@ -16,24 +21,30 @@ jobs:
exit 1
fi
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# history is needed to run git cherry-pick below
fetch-depth: 0
- name: Use CLA approved github bot
run: .github/scripts/use-cla-approved-github-bot.sh
- name: Use CLA approved bot
run: .github/scripts/use-cla-approved-bot.sh
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
- name: Create pull request
env:
NUMBER: ${{ github.event.inputs.number }}
# not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
run: |
commit=$(gh pr view $NUMBER --json mergeCommit --jq .mergeCommit.oid)
title=$(gh pr view $NUMBER --json title --jq .title)
branch="opentelemetrybot/backport-${NUMBER}-to-${GITHUB_REF_NAME//\//-}"
branch="otelbot/backport-${NUMBER}-to-${GITHUB_REF_NAME//\//-}"
git checkout -b $branch
git cherry-pick $commit

View File

@ -6,7 +6,14 @@ on:
- main
- release/*
pull_request:
merge_group:
workflow_dispatch:
schedule:
# Run daily at 7:30 AM UTC
- cron: '30 7 * * *'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
@ -16,53 +23,113 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Build
uses: gradle/gradle-build-action@v2
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
with:
arguments: build
cache-read-only: ${{ github.event_name == 'pull_request' }}
- name: Gradle build and test
run: ./gradlew build -x test
- name: Save unit test results
uses: actions/upload-artifact@v3
if: always()
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- macos-13
- ubuntu-latest
- windows-latest
test-java-version:
- 8
- 11
- 17
- 21
- 23
# macos-latest drops support for java 8 temurin. Run java 8 on macos-13. Run java 11, 17, 21 on macos-latest.
exclude:
- os: macos-latest
test-java-version: 8
- os: macos-13
test-java-version: 11
- os: macos-13
test-java-version: 17
- os: macos-13
test-java-version: 21
- os: macos-13
test-java-version: 23
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- id: setup-java-test
name: Set up Java ${{ matrix.test-java-version }} for tests
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
name: test-results
path: jmx-metrics/build/reports/tests/test
distribution: temurin
java-version: ${{ matrix.test-java-version }}
- id: setup-java
name: Set up Java for build
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
with:
cache-read-only: ${{ github.event_name == 'pull_request' }}
- name: Gradle test
run: >
./gradlew test
"-PtestJavaVersion=${{ matrix.test-java-version }}"
"-Porg.gradle.java.installations.paths=${{ steps.setup-java-test.outputs.path }}"
"-Porg.gradle.java.installations.auto-download=false"
integration-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Integration test
uses: gradle/gradle-build-action@v2
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
with:
arguments: integrationTest
cache-read-only: ${{ github.event_name == 'pull_request' }}
- name: Integration test
run: ./gradlew integrationTest
- name: Save integration test results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: always()
with:
name: integration-test-results
path: jmx-metrics/build/reports/tests/integrationTest
markdown-link-check:
uses: ./.github/workflows/reusable-markdown-link-check.yml
link-check:
# merge group and push events are excluded to avoid unnecessary CI failures
# (these failures will instead be captured by the daily scheduled run)
#
# release branches are excluded to avoid unnecessary maintenance if external links break
# (and also because the README.md might need update on release branches before the release
# download has been published)
if: github.event_name != 'merge_group' && github.event_name != 'push' && !startsWith(github.ref_name, 'release/')
uses: ./.github/workflows/reusable-link-check.yml
markdown-lint-check:
uses: ./.github/workflows/reusable-markdown-lint.yml
@ -85,26 +152,27 @@ jobs:
# and so would not short-circuit if used in the second-last position
name: publish-snapshots${{ (github.ref_name != 'main' || github.repository != 'open-telemetry/opentelemetry-java-contrib') && ' (skipped)' || '' }}
needs:
# intentionally not blocking snapshot publishing on markdown-link-check or misspell-check
# intentionally not blocking snapshot publishing on link-check or misspell-check
- build
- integration-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Build and publish snapshots
uses: gradle/gradle-build-action@v2
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
# skipping release branches because the versions in those branches are not snapshots
# (also this skips pull requests)
if: ${{ github.ref_name == 'main' && github.repository == 'open-telemetry/opentelemetry-java-contrib' }}
with:
arguments: assemble publishToSonatype
- name: Build and publish snapshots
if: ${{ github.ref_name == 'main' && github.repository == 'open-telemetry/opentelemetry-java-contrib' }}
run: ./gradlew assemble publishToSonatype
env:
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
@ -112,19 +180,21 @@ jobs:
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
required-status-check:
if: github.event_name == 'pull_request'
if: (github.event_name == 'pull_request' || github.event_name == 'merge_group') && always()
needs:
- build
- test
- integration-test
- markdown-lint-check
- misspell-check
- shell-script-check
runs-on: ubuntu-latest
steps:
# only the "build" and "integration-test" checks are required for release branch PRs in order
# only the build and test checks are required for release branch PRs in order
# to avoid any unnecessary release branch maintenance (especially for patches)
- if: |
needs.build.result != 'success' ||
needs.test.result != 'success' ||
needs.integration-test.result != 'success' ||
(
!startsWith(github.base_ref, 'release/') &&
@ -135,3 +205,31 @@ jobs:
)
)
run: exit 1 # fail
workflow-notification:
permissions:
contents: read
issues: write
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && always()
needs:
- build
- test
- integration-test
- link-check
- markdown-lint-check
- misspell-check
- shell-script-check
- publish-snapshots
uses: ./.github/workflows/reusable-workflow-notification.yml
with:
success: >-
${{
needs.build.result == 'success' &&
needs.test.result == 'success' &&
needs.integration-test.result == 'success' &&
needs.link-check.result == 'success' &&
needs.markdown-lint-check.result == 'success' &&
needs.misspell-check.result == 'success' &&
needs.shell-script-check.result == 'success' &&
needs.publish-snapshots.result == 'success'
}}

View File

@ -1,43 +0,0 @@
name: CodeQL (daily)
on:
schedule:
# Daily at 01:30 (UTC)
- cron: '30 1 * * *'
workflow_dispatch:
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Java 17
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: java
# using "latest" helps to keep up with the latest Kotlin support
# see https://github.com/github/codeql-action/issues/1555#issuecomment-1452228433
tools: latest
- uses: gradle/gradle-build-action@v2
with:
# skipping build cache is needed so that all modules will be analyzed
arguments: assemble --no-build-cache
- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@v2
open-issue-on-failure:
# open an issue on failure because it can be easy to miss CI failure notifications
needs:
- analyze
if: failure() && github.run_attempt == 1
uses: ./.github/workflows/reusable-open-issue-on-failure.yml

70
.github/workflows/codeql.yml vendored Normal file
View File

@ -0,0 +1,70 @@
name: CodeQL
on:
push:
branches:
- main
- release/*
pull_request:
branches:
- main
- release/*
# TODO (trask) adding this to the merge queue causes the merge queue to fail
# see related issues
# - https://github.com/github/codeql-action/issues/1572
# - https://github.com/github/codeql-action/issues/1537
# - https://github.com/github/codeql-action/issues/2691
# merge_group:
schedule:
- cron: "29 13 * * 2" # weekly at 13:29 UTC on Tuesday
permissions:
contents: read
jobs:
analyze:
name: Analyze (${{ matrix.language }})
permissions:
contents: read
actions: read # for github/codeql-action/init to get workflow details
security-events: write # for github/codeql-action/analyze to upload SARIF results
strategy:
fail-fast: false
matrix:
include:
- language: actions
- language: java
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Java 17
if: matrix.language == 'java'
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Set up gradle
if: matrix.language == 'java'
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
- name: Initialize CodeQL
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
languages: ${{ matrix.language }}
# using "latest" helps to keep up with the latest Kotlin support
# see https://github.com/github/codeql-action/issues/1555#issuecomment-1452228433
tools: latest
- name: Assemble
if: matrix.language == 'java'
# --no-build-cache is required for codeql to analyze all modules
# --no-daemon is required for codeql to observe the compilation
# (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)
run: ./gradlew assemble --no-build-cache --no-daemon
- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
category: "/language:${{matrix.language}}"

20
.github/workflows/fossa.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: FOSSA
on:
push:
branches:
- main
permissions:
contents: read
jobs:
fossa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: fossas/fossa-action@3ebcea1862c6ffbd5cf1b4d0bd6b3fe7bd6f2cac # v1.7.0
with:
api-key: ${{secrets.FOSSA_API_KEY}}
team: OpenTelemetry

View File

@ -1,16 +1,20 @@
name: Gradle wrapper validation
on:
pull_request:
paths:
- '**/gradle/wrapper/**'
push:
paths:
- '**/gradle/wrapper/**'
branches:
- main
- release/*
pull_request:
merge_group:
permissions:
contents: read
jobs:
validation:
gradle-wrapper-validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: gradle/wrapper-validation-action@v1.0.6
- uses: gradle/actions/wrapper-validation@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1

View File

@ -0,0 +1,29 @@
name: Issue management - remove labels as needed
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
issue_comment:
permissions:
contents: read
issues: write
pull-requests: write
if: >
contains(github.event.issue.labels.*.name, 'needs author feedback') &&
github.event.comment.user.login == github.event.issue.user.login
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Remove labels
env:
ISSUE_NUMBER: ${{ github.event.issue.number }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh issue edit --remove-label "needs author feedback" $ISSUE_NUMBER
gh issue edit --remove-label "stale" $ISSUE_NUMBER

View File

@ -0,0 +1,36 @@
name: Issue management - run stale action
on:
schedule:
# hourly at minute 23
- cron: "23 * * * *"
permissions:
contents: read
jobs:
stale:
permissions:
contents: read
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 7
days-before-close: 7
only-labels: "needs author feedback"
stale-issue-label: stale
stale-issue-message: >
This has been automatically marked as stale because it has been marked
as needing author feedback and has not had any activity for 7 days.
It will be closed automatically if there is no response from the author
within 7 additional days from this comment.
stale-pr-label: stale
stale-pr-message: >
This has been automatically marked as stale because it has been marked
as needing author feedback and has not had any activity for 7 days.
It will be closed automatically if there is no response from the author
within 7 additional days from this comment.

57
.github/workflows/ossf-scorecard.yml vendored Normal file
View File

@ -0,0 +1,57 @@
name: OSSF Scorecard
on:
push:
branches:
- main
schedule:
- cron: "43 6 * * 5" # weekly at 06:43 (UTC) on Friday
workflow_dispatch:
permissions: read-all
jobs:
analysis:
runs-on: ubuntu-latest
permissions:
# Needed for Code scanning upload
security-events: write
# Needed for GitHub OIDC token if publish_results is true
id-token: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: create-token
with:
# analyzing classic branch protections requires a token with admin read permissions
# see https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
# and https://github.com/open-telemetry/community/issues/2769
app-id: ${{ vars.OSSF_SCORECARD_APP_ID }}
private-key: ${{ secrets.OSSF_SCORECARD_PRIVATE_KEY }}
- uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
with:
repo_token: ${{ steps.create-token.outputs.token }}
results_file: results.sarif
results_format: sarif
publish_results: true
# Upload the results as artifacts (optional). Commenting out will disable
# uploads of run results in SARIF format to the repository Actions tab.
# https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
- name: "Upload artifact"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: SARIF file
path: results.sarif
retention-days: 5
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
sarif_file: results.sarif

View File

@ -0,0 +1,51 @@
# the benefit of this over renovate is that this also analyzes transitive dependencies
# while renovate (at least currently) only analyzes top-level dependencies
name: OWASP dependency check (daily)
on:
schedule:
# daily at 1:30 UTC
- cron: "30 1 * * *"
workflow_dispatch:
permissions:
contents: read
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Increase gradle daemon heap size
run: |
sed -i "s/org.gradle.jvmargs=/org.gradle.jvmargs=-Xmx3g /" gradle.properties
- uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
- run: ./gradlew dependencyCheckAnalyze
env:
NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
- name: Upload report
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
path: "**/build/reports"
workflow-notification:
permissions:
contents: read
issues: write
needs:
- analyze
if: always()
uses: ./.github/workflows/reusable-workflow-notification.yml
with:
success: ${{ needs.analyze.result == 'success' }}

View File

@ -2,11 +2,16 @@ name: Prepare patch release
on:
workflow_dispatch:
permissions:
contents: read
jobs:
prepare-patch-release:
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- run: |
if [[ ! $GITHUB_REF_NAME =~ ^release/v[0-9]+\.[0-9]+\.x$ ]]; then
@ -39,16 +44,22 @@ jobs:
date=$(date "+%Y-%m-%d")
sed -Ei "s/^## Unreleased$/## Version $VERSION ($date)/" CHANGELOG.md
- name: Use CLA approved github bot
run: .github/scripts/use-cla-approved-github-bot.sh
- name: Use CLA approved bot
run: .github/scripts/use-cla-approved-bot.sh
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
- name: Create pull request
env:
# not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
run: |
message="Prepare release $VERSION"
branch="opentelemetrybot/prepare-release-${VERSION}"
branch="otelbot/prepare-release-${VERSION}"
git checkout -b $branch
git commit -a -m "$message"

View File

@ -2,11 +2,14 @@ name: Prepare release branch
on:
workflow_dispatch:
permissions:
contents: read
jobs:
prereqs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Verify prerequisites
run: |
@ -21,11 +24,13 @@ jobs:
fi
create-pull-request-against-release-branch:
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
needs:
- prereqs
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Create release branch
run: |
@ -51,16 +56,22 @@ jobs:
date=$(date "+%Y-%m-%d")
sed -Ei "s/^## Unreleased$/## Version $VERSION ($date)/" CHANGELOG.md
- name: Use CLA approved github bot
run: .github/scripts/use-cla-approved-github-bot.sh
- name: Use CLA approved bot
run: .github/scripts/use-cla-approved-bot.sh
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
- name: Create pull request against the release branch
env:
# not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
run: |
message="Prepare release $VERSION"
branch="opentelemetrybot/prepare-release-${VERSION}"
branch="otelbot/prepare-release-${VERSION}"
git checkout -b $branch
git commit -a -m "$message"
@ -70,11 +81,13 @@ jobs:
--base $RELEASE_BRANCH_NAME
create-pull-request-against-main:
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
needs:
- prereqs
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set environment variables
run: |
@ -100,17 +113,23 @@ jobs:
date=$(date "+%Y-%m-%d")
sed -Ei "s/^## Unreleased$/## Unreleased\n\n## Version $VERSION ($date)/" CHANGELOG.md
- name: Use CLA approved github bot
run: .github/scripts/use-cla-approved-github-bot.sh
- name: Use CLA approved bot
run: .github/scripts/use-cla-approved-bot.sh
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
- name: Create pull request against main
env:
# not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
run: |
message="Update version to $NEXT_VERSION"
body="Update version to \`$NEXT_VERSION\`."
branch="opentelemetrybot/update-version-to-${NEXT_VERSION}"
branch="otelbot/update-version-to-${NEXT_VERSION}"
git checkout -b $branch
git commit -a -m "$message"

View File

@ -2,24 +2,27 @@ name: Release
on:
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- uses: gradle/gradle-build-action@v2
name: Build
with:
arguments: build
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
- name: Gradle build
run: ./gradlew build
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
name: Save unit test results
if: always()
with:
@ -29,20 +32,20 @@ jobs:
integration-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- uses: gradle/gradle-build-action@v2
name: Integration test
with:
arguments: integrationTest
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
- name: Integration test
run: ./gradlew integrationTest
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
name: Save integration test results
if: always()
with:
@ -50,13 +53,14 @@ jobs:
path: jmx-metrics/build/reports/tests/integrationTest
release:
permissions:
contents: write # for creating the release
runs-on: ubuntu-latest
needs:
- build
- integration-test
outputs:
version: ${{ steps.create-github-release.outputs.version }}
jmx-metrics-version: ${{ steps.create-github-release.outputs.jmx-metrics-version }}
steps:
- run: |
if [[ $GITHUB_REF_NAME != release/* ]]; then
@ -64,7 +68,7 @@ jobs:
exit 1
fi
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set environment variables
run: |
@ -93,7 +97,7 @@ jobs:
# check out main branch to verify there won't be problems with merging the change log
# at the end of this workflow
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: main
@ -108,21 +112,21 @@ jobs:
fi
# back to the release branch
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# tags are needed for the generate-release-contributors.sh script
fetch-depth: 0
- name: Set up JDK for running Gradle
uses: actions/setup-java@v3
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 17
- name: Set up gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
- name: Build and publish artifacts
uses: gradle/gradle-build-action@v2
with:
arguments: assemble publishToSonatype closeAndReleaseSonatypeStagingRepository
run: ./gradlew assemble publishToSonatype closeAndReleaseSonatypeStagingRepository
env:
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
@ -133,10 +137,12 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
instrumentation_version=$(grep -Po "val otelInstrumentationVersion = \"\K[0-9]+.[0-9]+.[0-9]+" dependencyManagement/build.gradle.kts)
# conditional blocks not indented because of the heredoc
if [[ $VERSION == *.0 ]]; then
cat > /tmp/release-notes.txt << EOF
This release targets the OpenTelemetry SDK $VERSION.
This release targets the OpenTelemetry Java Instrumentation [$instrumentation_version](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v$instrumentation_version).
EOF
else
@ -173,24 +179,25 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
jmx_metrics_version=$VERSION-alpha
cp jmx-metrics/build/libs/opentelemetry-jmx-metrics-$jmx_metrics_version.jar opentelemetry-jmx-metrics.jar
cp jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar opentelemetry-jmx-metrics.jar
cp jmx-metrics/build/libs/opentelemetry-jmx-metrics-$VERSION-alpha.jar.asc opentelemetry-jmx-metrics.jar.asc
gh release create --target $GITHUB_REF_NAME \
--title "Version $VERSION" \
--notes-file /tmp/release-notes.txt \
--discussion-category announcements \
v$VERSION \
opentelemetry-jmx-metrics.jar
opentelemetry-jmx-metrics.jar \
opentelemetry-jmx-metrics.jar.asc
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "jmx-metrics-version=$jmx_metrics_version" >> $GITHUB_OUTPUT
merge-change-log-to-main:
permissions:
contents: write # for git push to PR branch
runs-on: ubuntu-latest
needs:
- release
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Copy change log section from release branch
env:
@ -199,7 +206,7 @@ jobs:
sed -n "0,/^## Version $VERSION /d;/^## Version /q;p" CHANGELOG.md \
> /tmp/changelog-section.md
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: main
@ -211,14 +218,20 @@ jobs:
release_date=$(gh release view v$VERSION --json publishedAt --jq .publishedAt | sed 's/T.*//')
RELEASE_DATE=$release_date .github/scripts/merge-change-log-after-release.sh
- name: Use CLA approved github bot
run: .github/scripts/use-cla-approved-github-bot.sh
- name: Use CLA approved bot
run: .github/scripts/use-cla-approved-bot.sh
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: otelbot-token
with:
app-id: ${{ vars.OTELBOT_APP_ID }}
private-key: ${{ secrets.OTELBOT_PRIVATE_KEY }}
- name: Create pull request against main
env:
VERSION: ${{ needs.release.outputs.version }}
# not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
GH_TOKEN: ${{ steps.otelbot-token.outputs.token }}
run: |
if git diff --quiet; then
if [[ $VERSION == *.0 ]]; then
@ -232,7 +245,7 @@ jobs:
message="Merge change log updates from $GITHUB_REF_NAME"
body="Merge log updates from \`$GITHUB_REF_NAME\`."
branch="opentelemetrybot/merge-change-log-updates-from-${GITHUB_REF_NAME//\//-}"
branch="otelbot/merge-change-log-updates-from-${GITHUB_REF_NAME//\//-}"
git checkout -b $branch
git commit -a -m "$message"
@ -240,12 +253,3 @@ jobs:
gh pr create --title "$message" \
--body "$body" \
--base main
create-collector-contrib-pull-request:
needs:
- release
uses: ./.github/workflows/reusable-create-collector-contrib-pull-request.yml
with:
jmx-metrics-version: ${{ needs.release.outputs.jmx-metrics-version }}
secrets:
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}

View File

@ -1,107 +0,0 @@
name: Reusable - Create collector contrib pull request
on:
workflow_call:
inputs:
jmx-metrics-version:
type: string
required: true
secrets:
BOT_TOKEN:
required: true
# to help with partial release build failures
workflow_dispatch:
inputs:
jmx-metrics-version:
description: "JMX metrics version"
required: true
jobs:
create-collector-contrib-pull-request:
runs-on: ubuntu-latest
steps:
- name: Sync opentelemetry-collector-contrib fork
env:
# this is the personal access token used for "gh repo sync" below
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
run: |
# synchronizing the fork is fast, and avoids the need to fetch the full upstream repo
# (fetching the upstream repo with "--depth 1" would lead to "shallow update not allowed"
# error when pushing back to the origin repo)
gh repo sync opentelemetrybot/opentelemetry-collector-contrib \
--source open-telemetry/opentelemetry-collector-contrib \
--force
- uses: actions/checkout@v3
with:
repository: opentelemetrybot/opentelemetry-collector-contrib
# this is the personal access token used for "git push" below
token: ${{ secrets.BOT_TOKEN }}
- name: Update version
env:
JMX_METRICS_VERSION: ${{ inputs.jmx-metrics-version }}
run: |
if [[ ! $JMX_METRICS_VERSION =~ -alpha$ ]]; then
echo currently expecting jmx metrics version to end with "-alpha"
exit 1
fi
version=${JMX_METRICS_VERSION//-alpha/}
hash=$(curl -L https://github.com/open-telemetry/opentelemetry-java-contrib/releases/download/v$version/opentelemetry-jmx-metrics.jar \
| sha256sum \
| cut -d ' ' -f 1)
# NOTE there are intentional tab characters in the line below
sed -i "/^var jmxMetricsGathererVersions/a \ \"$hash\": {\n version: \"$JMX_METRICS_VERSION\",\n jar: \"JMX metrics gatherer\",\n }," receiver/jmxreceiver/supported_jars.go
git diff
- name: Use CLA approved github bot
run: |
# cannot run the use-cla-approved-github-bot.sh script here since in a different repo
git config user.name opentelemetrybot
git config user.email 107717825+opentelemetrybot@users.noreply.github.com
- name: Create pull request against opentelemetry-collector-contrib
env:
JMX_METRICS_VERSION: ${{ inputs.jmx-metrics-version }}
# this is the personal access token used for "gh pr create" below
GH_TOKEN: ${{ secrets.BOT_TOKEN }}
run: |
message="Update the jmx-metrics version to $JMX_METRICS_VERSION"
# note that @open-telemetry/java-contrib-approvers cannot be used below
# because opentelemetrybot is not a member of the OpenTelemetry org,
# and so it cannot @ mention OpenTelemetry org groups
body="Update the jmx-metrics version to \`$JMX_METRICS_VERSION\`.
cc @jack-berg @mateuszrzeszutek @rmfitzpatrick @trask
"
branch="update-opentelemetry-jmx-metrics-to-${JMX_METRICS_VERSION}"
# gh pr create doesn't have a way to explicitly specify different head and base
# repositories currently, but it will implicitly pick up the head from a different
# repository if you set up a tracking branch
git checkout -b $branch
git commit -a -m "$message"
git push --set-upstream origin $branch
url=$(gh pr create --title "$message" \
--body "$body" \
--repo open-telemetry/opentelemetry-collector-contrib \
--base main)
pull_request_number=${url//*\//}
# see the template for change log entry file at
# https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/.chloggen/TEMPLATE.yaml
cat > .chloggen/add-jmx-metrics-gatherer-$JMX_METRICS_VERSION.yaml << EOF
change_type: enhancement
component: jmxreceiver
note: Add the JMX metrics gatherer version $JMX_METRICS_VERSION to the supported jars hash list
issues: [ $pull_request_number ]
EOF
git add .chloggen/add-jmx-metrics-gatherer-$JMX_METRICS_VERSION.yaml
git commit -m "Add change log entry"
git push

View File

@ -0,0 +1,45 @@
name: Reusable - Link check
on:
workflow_call:
permissions:
contents: read
jobs:
link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # needed for merge-base below
- name: Link check - relative links (all files)
if: github.event_name == 'pull_request'
env:
GITHUB_TOKEN: ${{ github.token }}
run: ./.github/scripts/link-check.sh --local-links-only
- name: Get modified files
if: github.event_name == 'pull_request'
id: modified-files
run: |
merge_base=$(git merge-base origin/${{ github.base_ref }} HEAD)
# Using lychee's default extension filter here to match when it runs against all files
modified_files=$(git diff --name-only $merge_base...${{ github.event.pull_request.head.sha }} \
| grep -E '\.(md|mkd|mdx|mdown|mdwn|mkdn|mkdown|markdown|html|htm|txt)$' \
| tr '\n' ' ' || true)
echo "files=$modified_files" >> $GITHUB_OUTPUT
echo "Modified files: $modified_files"
- name: Link check - all links (modified files only)
if: github.event_name == 'pull_request' && steps.modified-files.outputs.files != ''
env:
GITHUB_TOKEN: ${{ github.token }}
run: ./.github/scripts/link-check.sh ${{ steps.modified-files.outputs.files }}
- name: Link check - all links (all files)
if: github.event_name != 'pull_request'
env:
GITHUB_TOKEN: ${{ github.token }}
run: ./.github/scripts/link-check.sh

View File

@ -1,21 +0,0 @@
name: Reusable - Markdown link check
on:
workflow_call:
jobs:
markdown-link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install markdown-link-check
# TODO(jack-berg): use latest when config file reading bug is fixed: https://github.com/tcort/markdown-link-check/issues/246
run: npm install -g markdown-link-check@3.10.3
- name: Run markdown-link-check
run: |
find . -type f \
-name '*.md' \
-not -path './CHANGELOG.md' \
| xargs .github/scripts/markdown-link-check-with-retry.sh

View File

@ -3,15 +3,15 @@ name: Reusable - Markdown lint check
on:
workflow_call:
permissions:
contents: read
jobs:
markdown-lint-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install markdownlint
run: npm install -g markdownlint-cli
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run markdownlint
run: |
markdownlint -c .github/config/markdown-lint-config.yml **/*.md
npx markdownlint-cli@0.45.0 -c .github/config/markdownlint.yml **/*.md

View File

@ -3,11 +3,14 @@ name: Reusable - Misspell check
on:
workflow_call:
permissions:
contents: read
jobs:
misspell-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install misspell
run: |

View File

@ -1,18 +0,0 @@
name: Reusable - Open issue on workflow failure
on:
workflow_call:
jobs:
open-issue:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Open issue
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh issue create --title "$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER failed" \
--label bug \
--body "See [$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."

View File

@ -3,11 +3,14 @@ name: Reusable - Shell script check
on:
workflow_call:
permissions:
contents: read
jobs:
shell-script-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install shell check
run: wget -qO- "https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz" | tar -xJv

View File

@ -0,0 +1,44 @@
# this is useful because notifications for scheduled workflows are only sent to the user who
# initially created the given workflow
name: Reusable - Workflow notification
on:
workflow_call:
inputs:
success:
type: boolean
required: true
permissions:
contents: read
jobs:
workflow-notification:
permissions:
contents: read
issues: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Open issue or add comment if issue already open
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# TODO (trask) search doesn't support exact phrases, so it's possible that this could grab the wrong issue
number=$(gh issue list --search "in:title Workflow failed: $GITHUB_WORKFLOW" --limit 1 --json number -q .[].number)
echo $number
echo ${{ inputs.success }}
if [[ $number ]]; then
if [[ "${{ inputs.success }}" == "true" ]]; then
gh issue close $number
else
gh issue comment $number \
--body "See [$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
fi
elif [[ "${{ inputs.success }}" == "false" ]]; then
gh issue create --title "Workflow failed: $GITHUB_WORKFLOW (#$GITHUB_RUN_NUMBER)" \
--body "See [$GITHUB_WORKFLOW #$GITHUB_RUN_NUMBER](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)."
fi

View File

@ -2,6 +2,576 @@
## Unreleased
## Version 1.47.0 (2025-07-04)
### Disk buffering
- Shared storage
([#1912](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1912))
- Implementing ExtendedLogRecordData
([#1918](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1918))
- Add missing EventName to disk-buffering LogRecordDataMapper
([#1950](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1950))
### GCP authentication extension
- Update the internal implementation such that the required headers are retrieved
from the Google Auth Library instead of manually constructing and passing them.
([#1860](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1860))
- Add metrics support to auth extension
([#1891](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1891))
- Update ConfigurableOptions to read from ConfigProperties
([#1904](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1904))
### Inferred spans
- Upgrade async-profiler to 4.0
([#1872](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1872))
### Kafka exporter
- Upgrade kafka-clients to 4.0 (and so now requires Java 11+)
([#1802](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1802))
### Maven extension
- Add option to record transferred artifacts
([#1875](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1875))
## Version 1.46.0 (2025-04-11)
### Baggage processor
- Remove the deprecated and unused bare Predicate
([#1828](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1828))
### Telemetry processors
- Add logs filtering
([#1823](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1823))
## Version 1.45.0 (2025-03-14)
### Disk buffering
- Make configuration package public
([#1781](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1781))
### JMX scraper
- Reuse instrumentation metrics by default
([#1782](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1782))
## Version 1.44.0 (2025-02-21)
### AWS resources
- Changed resource attribute `container.image.tag` to `container.image.tags`
([#1736](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1736))
### AWS X-Ray propagator
- Make `xray-lambda` propagator available via SPI
([#1669](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1669))
- Support Lineage in XRay trace header and remove additional baggage from being added
([#1671](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1671))
### CloudFoundry resources - New 🌟
CloudFoundry resource detector.
### Disk buffering
- Use delegate's temporality
([#1672](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1672))
### GCP authentication extension
- Publish both shaded and unshaded variants
([#1688](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1688))
### JMX metrics
- Updated Hadoop metric unit definitions to align with semantic conventions
([#1675](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1675))
- Updated Kafka metric unit definitions to align with semantic conventions
([#1670](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1670))
### JMX scraper
- Use SDK autoconfigure module
([#1651](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1651))
- Rename `otel.jmx.custom.scraping.config` to `otel.jmx.config` in order to align
with `io.opentelemetry.instrumentation:opentelemetry-jmx-metrics`
([#1678](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1678))
- Hadoop metrics added
([#1675](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1675))
- Add a CLI option to test the connection
([#1684](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1684))
- Kafka server, producer, and consumer metrics added
([#1670](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1670))
- Add custom YAML support
([#1741](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1741))
- Add SSL support
([#1710](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1710))
- Replicate JMXMP/SASL config from the JMX metrics module
([#1749](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1749))
### Maven extension
- Support Maven 4.0
([#1679](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1679))
### Processors
- Changed `EventToSpanEventBridge` from reading `event.name` to reading the new LogRecord
[EventName](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-eventname)
field.
([#1736](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1736))
### Static instrumenter
- Module has been removed
([#1755](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1755))
## Version 1.43.0 (2025-01-17)
### Azure resources - New 🌟
Azure resource detectors.
### Consistent sampling
- Improve interop with legacy samplers
([#1629](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1629))
### GCP authentication extension - New 🌟
Allows users to export telemetry from their applications to Google Cloud using the built-in OTLP exporters.
The extension takes care of the necessary configuration required to authenticate to GCP to successfully export telemetry.
### JMX scraper
- Add support for Solr
([#1595](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1595))
## Version 1.42.0 (2024-12-13)
### AWS X-Ray SDK support
- Update semconv dependency version
([#1585](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1585))
### Baggage processor
- [baggage-processor] Add BaggageLogRecordProcessor
([#1576](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1576))
### Disk buffering
- Deserialization validation
([#1571](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1571))
### JMX metrics
- Align HBase metric units to semconv
([#1538](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1538))
- Align Cassandra metric units to semconv
([#1591](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1591))
- Align Tomcat metric units to semconv
([#1589](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1589))
- Align JVM units to semconv
([#1593](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1593))
### JMX scraper - New 🌟
The future of the [JMX metrics](./jmx-metrics/README.md) component,
built on top of the
[JMX metrics](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/jmx-metrics/javaagent#jmx-metric-insight)
component from the opentelemetry-java-instrumentation repository.
### Maven extension
- Load OTel SDK config from environment variables and system properties
([#1434](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1434))
- Workaround `NoClassDefFoundError` in `@PreDestroy` waiting for MNG-7056
([#1431](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1431))
## Version 1.41.0 (2024-11-21)
### JMX metrics
- Align ActiveMQ metric units to semconv
([#1553](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1553))
- Align Jetty metric units to semconv
([#1517](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1517))
### Inferred spans
- Allow customization of parent-override behavior
([#1533](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1533))
### Telemetry processors
- Add LogRecordProcessor to record event log records as span events
([#1551](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1551))
## Version 1.40.0 (2024-10-18)
### AWS X-Ray SDK support
- Ensure all XRay Sampler functionality is under ParentBased logic
([#1488](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1488))
### GCP Resources
- Add gcr job support
([#1462](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1462))
### Inferred spans
- Rename param and description to proper value
([#1486](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1486))
### JFR connection
- Fix wrong parameter sent to JFR DiagnosticCommand
([#1492](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1492))
### Span stack traces
- Support autoconfigure
([#1499](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1499))
## Version 1.39.0 (2024-09-17)
### AWS X-Ray propagator
- Handle too short `X-Amzn-Trace-Id` header
([#1036](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1036))
- Add declarative config support for aws xray propagators
([#1442](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1442))
### AWS X-Ray SDK support
- Fix native mode error cause by static init of random
([#862](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/862))
### Consistent sampling
- Composite Samplers prototype
([#1443](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1443))
### Disk buffering
- Add debug mode for verbose logging
([#1455](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1455))
### GCP Resources
- Fix incorrect `cloud.platform` value for GCF
([#1454](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1454))
### JMX metrics
- Add option to aggregate across multiple MBeans
([#1366](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1366))
### Samplers
- Add declarative config support for `RuleBasedRoutingSampler`
([#1440](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1440))
### Span stack traces
- Add config option `otel.java.experimental.span-stacktrace.min.duration`
([#1414](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1414))
## Version 1.38.0 (2024-08-19)
### JFR connection
- Recording close should not throw exception
([#1412](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1412))
## Version 1.37.0 (2024-07-18)
### AWS resources
- Add ECS cluster detection
([#1354](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1354))
### Baggage processor
- Add config support
([#1330](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1330))
### Inferred spans - New 🌟
An OpenTelemetry extension for generating spans via profiling instead of instrumentation.
This extension enhances traces by
running [async-profiler](https://github.com/async-profiler/async-profiler) in wall-clock profiling
mode
whenever there is an active sampled OpenTelemetry span.
The resulting profiling data is analyzed afterward and spans are "inferred".
This means there is a delay between the regular and the inferred spans being visible
in your OpenTelemetry backend/UI.
### JFR connection
- Fix for using diagnostic command to start a recording
([#1352](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1352))
### JMX metrics
- Support both a script and target systems
([#1339](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1339))
## Version 1.36.0 (2024-05-29)
### AWS resources
- Optimization: don't attempt detection if a cloud provider has already been detected
([#1225](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1225))
### Baggage processor - New 🌟
This module provides a SpanProcessor that stamps baggage onto spans as attributes on start.
### Consistent sampling
- Assume random trace ID and set th-field only for sampled spans
([#1278](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1278))
### GCP Resources
- Optimization: don't attempt detection if a cloud provider has already been detected
([#1225](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1225))
- Update guidance for manual instrumentation usage
([#1250](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1250))
### JMX metrics
- Remove `slf4j-simple` dependency
([#1283](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1283))
### Maven extension
- Disable metrics and logs by default
([#1276](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1276))
- Migrate to current semconv
([#1299](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1299))
- Migrate from Plexus to JSR 330 dependency injection APIs
([#1320](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1320))
### Span stack trace
- Enable publishing to maven central
([#1297](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1297))
## Version 1.35.0 (2024-04-16)
### JMX metrics
- Add support for newly named Tomcat MBean with Spring
([#1269](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1269))
### Span stack traces - New 🌟
This module provides a SpanProcessor that captures stack traces on spans that meet
a certain criteria such as exceeding a certain duration threshold.
## Version 1.34.0 (2024-03-27)
### AWS resources
- Add support for `cloud.account.id`, `cloud.availability_zone`, `cloud.region`,
and `cloud.resource_id`
([#1171](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1171))
### AWS X-Ray propagator
- Add xray propagators that prioritizes xray environment variable
([#1032](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1032))
### GCP Resources
- Update docs on how to use with Java agent v2.2.0 and later
([#1237](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1237))
### Micrometer MeterProvider
- Implement Metrics incubator APIs to accept advice
([#1190](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1190))
## Version 1.33.0 (2024-02-21)
### Compressors
- Add zstd compressor implementation for OTLP exporters
([#1108](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1108))
### Consistent sampling
- Switch from acceptance to rejection threshold
([#1130](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1130))
### Disk buffering
- Shadowing generated proto java sources
([#1146](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1146))
- Single responsibility for disk exporters
([#1161](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1161))
- Split serializer
([#1167](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1167))
- Disk buffering config and README updates
([#1169](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1169))
- Ensure no sign propagation for flags byte
([#1166](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1166))
### GCP Resources - New 🌟
This module provides GCP resource detectors for OpenTelemetry.
### JMX metrics
- Add Error handling for closure parameters
([#1102](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1102))
- Add `kafka.request.time.avg`
([#1135](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1135))
### Kafka exporter - New 🌟
This module contains `KafkaSpanExporter`, which is an implementation of the
`io.opentelemetry.sdk.trace.export.SpanExporter` interface.
`KafkaSpanExporter` can be used for sending `SpanData` to a Kafka topic.
## Version 1.32.0 (2023-11-27)
### Disk buffering
- Using Android 21 as minimum supported for disk-buffering
([#1096](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1096))
## Version 1.31.0 (2023-10-18)
### Consistent sampling
- Explicitly pass invalid p-value to root sampler
([#1053](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1053))
- Consistent sampler prototypes using 56 bits of randomness
([#1063](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1063))
### Runtime attach
- Rename runtime attach method from `attachJavaagentToCurrentJVM`
to `attachJavaagentToCurrentJvm`
([#1077](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1077))
### Samplers
- Support `thread.name` attributes in RuleBasedRoutingSampler
([#1030](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1030))
## Version 1.30.0 (2023-09-18)
### Disk buffering
- Remove protobuf dependency
([#1008](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1008))
### Maven extension
- Disable OTel SDK shutdown hook registration
([#1022](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1022))
### Telemetry processors - New 🌟
This module contains tools for globally processing telemetry, including modifying and filtering
telemetry.
## Version 1.29.0 (2023-08-23)
### Consistent sampling
- Add a provider for consistent parent based probability sampler
([#1005](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1005))
### Disk buffering
- Migrate StorageFile to FileOperations
([#986](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/986))
### JMX metrics
- [jmx-metrics] Collect in callback
([#949](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/949))
- Added transformation closure to MBeanHelper
([#960](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/960))
## Version 1.28.0 (2023-07-14)
### AWS X-Ray SDK support
- generate error/fault metrics by aws sdk status code
([#924](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/924))
### Disk buffering - New 🌟
This module provides signal exporter wrappers that intercept and store telemetry signals in files
which can be sent later on demand.
## Version 1.27.0 (2023-06-16)
### AWS X-Ray SDK support
- Enhance AWS APM metrics mapping implementation
([#906](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/906))
### Samplers
- Links based sampler
([#813](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/813),
[#903](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/903))
## Version 1.26.0 (2023-05-17)
### AWS X-Ray SDK support
- Add AttributePropagatingSpanProcessor component to AWS X-Ray
([#856](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/856))
- Add new components to allow for generating metrics from 100% of spans without impacting sampling
([#802](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/802))
### JMX metrics
- Adding support for scenarios where the RMI registry has SSL enabled
([#835](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/835))
## Version 1.25.1 (2023-04-21)
### 🛠️ Bug fixes
- Previously targeted OpenTelemetry SDK and Instrumentation versions had never been updated to
target OpenTelemetry SDK 1.25
## Version 1.25.0 (2023-04-18)
### AWS X-Ray SDK support
- Breakout ResourceHolder from AwsXrayRemoteSamplerProvider
([#801](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/801))
### JFR connection - New 🌟
- JFR connection is a library to allow configuration and control of JFR
without depending on jdk.jfr.
This is a contribution of https://github.com/microsoft/jfr-streaming.
## Version 1.24.0 (2023-04-03)
### Maven extension
- [maven-extension] Emit a warning rather than failing the build with an exception on illegal state

View File

@ -1,12 +1,38 @@
## Contributing
# Contributing
Pull requests for bug fixes are always welcome!
Welcome to the OpenTelemetry Java Contrib Repository!
## Introduction
This repository focuses on providing tools and utilities for Java-based observability, such as remote JMX metric gathering and reporting. Were excited to have you here! Whether youre fixing a bug, adding a feature, or suggesting an idea, your contributions are invaluable.
Before submitting new features or changes to current functionality, it is recommended to first
[open an issue](https://github.com/open-telemetry/opentelemetry-java-contrib/issues/new)
and discuss your ideas or propose the changes you wish to make.
### Building
Questions? Ask in the OpenTelemetry [java channel](https://cloud-native.slack.com/archives/C014L2KCTE3)
Pull requests for bug fixes are always welcome!
## Pre-requisites
To work with this repository, ensure you have:
### Tools:
Java 17 or higher
### Platform Notes:
macOS/Linux: Ensure JAVA_HOME is set correctly.
## Workflow
1. Fork the repository
2. Clone locally
3. Create a branch before working on an issue
## Local Run/Build
In order to build and test this whole repository you need JDK 11+.
@ -14,22 +40,43 @@ In order to build and test this whole repository you need JDK 11+.
For developers testing code changes before a release is complete, there are
snapshot builds of the `main` branch. They are available from
the Sonatype OSS snapshots repository at `https://oss.sonatype.org/content/repositories/snapshots/`
([browse](https://oss.sonatype.org/content/repositories/snapshots/io/opentelemetry/contrib/))
the Sonatype snapshot repository at `https://central.sonatype.com/repository/maven-snapshots/`
([browse](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/opentelemetry/contrib/)).
#### Building from source
Building using Java 11+:
```bash
java -version
$ java -version
```
```bash
./gradlew assemble
$ ./gradlew assemble
```
### Style guide
## Testing
See the [Style guide](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/contributing/style-guideline.md)
from the opentelemetry-java-instrumentation repository.
```bash
$ ./gradlew test
```
### Some modules have integration tests
```
$ ./gradlew integrationTest
```
Follow the Java Instrumentation [Style Guide](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/contributing/style-guideline.md) from the opentelemetry-java-instrumentation repository.
Failure? Check logs for errors or mismatched dependencies.
## Gradle conventions
- Use kotlin instead of groovy
- Plugin versions should be specified in `settings.gradle.kts`, not in individual modules
- All modules use `plugins { id("otel.java-conventions") }`
## Further Help
Join [#otel-java](https://cloud-native.slack.com/archives/C014L2KCTE3) on OpenTelemetry Slack

View File

@ -1,5 +1,10 @@
# OpenTelemetry Java Contrib
[![Build](https://github.com/open-telemetry/opentelemetry-java-contrib/actions/workflows/build.yml/badge.svg)](https://github.com/open-telemetry/opentelemetry-java-contrib/actions/workflows/build.yml)
[![Release](https://img.shields.io/github/v/release/open-telemetry/opentelemetry-java-contrib?include_prereleases&style=)](https://github.com/open-telemetry/opentelemetry-java-contrib/releases/)
[![FOSSA License Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-java-contrib.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-java-contrib?ref=badge_shield&issueType=license)
[![FOSSA Security Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-java-contrib.svg?type=shield&issueType=security)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-java-contrib?ref=badge_shield&issueType=security)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/open-telemetry/opentelemetry-java-contrib/badge)](https://scorecard.dev/viewer/?uri=github.com/open-telemetry/opentelemetry-java-contrib)
[![Slack](https://img.shields.io/badge/slack-@cncf/otel--java-blue.svg?logo=slack)](https://cloud-native.slack.com/archives/C014L2KCTE3)
This project is intended to provide helpful libraries and standalone OpenTelemetry-based utilities that don't fit
the express scope of the [OpenTelemetry Java](https://github.com/open-telemetry/opentelemetry-java) or
@ -9,15 +14,38 @@ feature or via instrumentation, this project is hopefully for you.
## Provided Libraries
* [AWS Resources](./aws-resources/README.md)
* [AWS X-Ray SDK Support](./aws-xray/README.md)
* [AWS X-Ray Propagator](./aws-xray-propagator/README.md)
* [Consistent sampling](./consistent-sampling/README.md)
* [JFR Streaming](./jfr-streaming/README.md)
* [JMX Metric Gatherer](./jmx-metrics/README.md)
* [OpenTelemetry Maven Extension](./maven-extension/README.md)
* [Runtime Attach](./runtime-attach/README.md)
* [Samplers](./samplers/README.md)
| Status* | Library |
|---------|-------------------------------------------------------------------|
| beta | [AWS Resources](./aws-resources/README.md) |
| stable | [AWS X-Ray SDK Support](./aws-xray/README.md) |
| alpha | [AWS X-Ray Propagator](./aws-xray-propagator/README.md) |
| alpha | [Baggage Processors](./baggage-processor/README.md) |
| alpha | [zstd Compressor](./compressors/compressor-zstd/README.md) |
| alpha | [Consistent Sampling](./consistent-sampling/README.md) |
| alpha | [Disk Buffering](./disk-buffering/README.md) |
| alpha | [GCP Authentication Extension](./gcp-auth-extension/README.md) |
| beta | [GCP Resources](./gcp-resources/README.md) |
| beta | [Inferred Spans](./inferred-spans/README.md) |
| alpha | [JFR Connection](./jfr-connection/README.md) |
| alpha | [JFR Events](./jfr-events/README.md) |
| alpha | [JMX Metric Gatherer](./jmx-metrics/README.md) |
| alpha | [JMX Metric Scraper](./jmx-scraper/README.md) |
| alpha | [Kafka Support](./kafka-exporter/README.md) |
| alpha | [OpenTelemetry Maven Extension](./maven-extension/README.md) |
| alpha | [Micrometer MeterProvider](./micrometer-meter-provider/README.md) |
| alpha | [No-Op API](./noop-api/README.md) |
| alpha | [Intercept and Process Signals Globally](./processors/README.md) |
| alpha | [Prometheus Client Bridge](./prometheus-client-bridge/README.md) |
| alpha | [Resource Providers](./resource-providers/README.md) |
| alpha | [Runtime Attach](./runtime-attach/README.md) |
| alpha | [Samplers](./samplers/README.md) |
| beta | [Span Stacktrace Capture](./span-stacktrace/README.md) |
\* `alpha`, `beta` and `stable` are currently used to denote library status per [otep 0232](https://github.com/open-telemetry/oteps/blob/main/text/0232-maturity-of-otel.md).
To reach stable status, the library needs to have stable APIs, stable semantic conventions, and be production ready.
On reaching stable status, the `otel.stable` value in `gradle.properties` should be set to `true`.
Note that currently all the libraries are released together with the version of this repo, so breaking changes (after stable
status is reached) would bump the major version of all libraries together. This could get complicated so `stable` has a high bar.
## Getting Started
@ -44,30 +72,37 @@ domain we would be very interested in supporting it. Please
suggestion. PRs are always welcome and greatly appreciated, but for larger functional changes a pre-coding introduction
can be helpful to ensure this is the correct place and that active or conflicting efforts don't exist.
Triagers ([@open-telemetry/java-contrib-triagers](https://github.com/orgs/open-telemetry/teams/java-contrib-triagers)):
### Maintainers
- [Jack Berg](https://github.com/jack-berg), New Relic
- [Jason Plumb](https://github.com/breedx-splk), Splunk
- [Lauri Tulmin](https://github.com/laurit), Splunk
- [Trask Stalnaker](https://github.com/trask), Microsoft
For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer).
### Approvers
- [John Watson](https://github.com/jkwatson), Verta.ai
For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver).
### Triagers
- All [component owners](https://github.com/open-telemetry/opentelemetry-java-contrib/blob/main/.github/component_owners.yml) are given Triager permissions to this repository.
Approvers ([@open-telemetry/java-contrib-approvers](https://github.com/orgs/open-telemetry/teams/java-contrib-approvers)):
For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager).
- [John Watson](https://github.com/jkwatson), Verta.ai
- [Lauri Tulmin](https://github.com/laurit), Splunk
### Emeritus maintainers
Maintainers ([@open-telemetry/java-contrib-maintainers](https://github.com/orgs/open-telemetry/teams/java-contrib-maintainers)):
- [Mateusz Rzeszutek](https://github.com/mateuszrzeszutek)
- [Nikita Salnikov-Tarnovski](https://github.com/iNikem)
- [Ryan Fitzpatrick](https://github.com/rmfitzpatrick)
- [Jack Berg](https://github.com/jack-berg), New Relic
- [Mateusz Rzeszutek](https://github.com/mateuszrzeszutek), Splunk
- [Nikita Salnikov-Tarnovski](https://github.com/iNikem), Splunk
- [Trask Stalnaker](https://github.com/trask), Microsoft
For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager).
Emeritus maintainers:
- [Ryan Fitzpatrick](https://github.com/rmfitzpatrick), Splunk
Learn more about roles in the [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md).
Thanks to all the people who already contributed!
### Thanks to all of our contributors!
<a href="https://github.com/open-telemetry/opentelemetry-java-contrib/graphs/contributors">
<img src="https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-java-contrib" />
<img alt="Repo contributors" src="https://contrib.rocks/image?repo=open-telemetry/opentelemetry-java-contrib" />
</a>

View File

@ -7,8 +7,8 @@ The version is specified in [version.gradle.kts](version.gradle.kts).
## Snapshot builds
Every successful CI build of the main branch automatically executes `./gradlew publishToSonatype`
as the last step, which publishes a snapshot build to
[Sonatype OSS snapshots repository](https://oss.sonatype.org/content/repositories/snapshots/io/opentelemetry/contrib/).
as the last step, which publishes a snapshot build to the
[Sonatype snapshot repository](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/opentelemetry/contrib/).
## Release cadence
@ -18,8 +18,10 @@ the second Monday of the month (roughly a couple of days after the monthly minor
## Preparing a new major or minor release
* Check that [dependabot has run](https://github.com/open-telemetry/opentelemetry-java-contrib/network/updates)
sometime in the past day.
* Check that [renovate has run](https://developer.mend.io/github/open-telemetry/opentelemetry-java-contrib)
sometime in the past day and that all
[renovate PRs](https://github.com/open-telemetry/opentelemetry-java-contrib/pulls/app%2Frenovate)
have been merged.
* Check that the OpenTelemetry SDK and Instrumentation versions have been updated to the latest release.
* Close the [release milestone](https://github.com/open-telemetry/opentelemetry-java-contrib/milestones)
if there is one.

View File

@ -58,3 +58,7 @@ afterEvaluate {
}
}
}
dependencyCheck {
skip = true
}

View File

@ -4,6 +4,7 @@ This module contains AWS resource detectors including Beanstalk, EC2, ECS, EKS,
## Component owners
- [William Armiros](https://github.com/willarmiros), AWS
- [Lei Wang](https://github.com/wangzlei), AWS
- [Prashant Srivastava](https://github.com/srprash), AWS
Learn more about component owners in [component_owners.yml](../.github/component_owners.yml).

View File

@ -11,7 +11,8 @@ dependencies {
api("io.opentelemetry:opentelemetry-api")
api("io.opentelemetry:opentelemetry-sdk")
implementation("io.opentelemetry:opentelemetry-semconv")
implementation("io.opentelemetry.semconv:opentelemetry-semconv")
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")

View File

@ -5,13 +5,21 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AWS_ELASTIC_BEANSTALK;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudProviderIncubatingValues.AWS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.SERVICE_INSTANCE_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.SERVICE_NAMESPACE;
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
@ -58,21 +66,21 @@ public final class BeanstalkResource {
if (!parser.isExpectedStartObjectToken()) {
logger.log(Level.WARNING, "Invalid Beanstalk config: ", configPath);
return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0);
}
while (parser.nextToken() != JsonToken.END_OBJECT) {
parser.nextValue();
String value = parser.getText();
switch (parser.getCurrentName()) {
switch (parser.currentName()) {
case DEVELOPMENT_ID:
attrBuilders.put(ResourceAttributes.SERVICE_INSTANCE_ID, value);
attrBuilders.put(SERVICE_INSTANCE_ID, value);
break;
case VERSION_LABEL:
attrBuilders.put(ResourceAttributes.SERVICE_VERSION, value);
attrBuilders.put(SERVICE_VERSION, value);
break;
case ENVIRONMENT_NAME:
attrBuilders.put(ResourceAttributes.SERVICE_NAMESPACE, value);
attrBuilders.put(SERVICE_NAMESPACE, value);
break;
default:
parser.skipChildren();
@ -83,12 +91,10 @@ public final class BeanstalkResource {
return Resource.empty();
}
attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS);
attrBuilders.put(
ResourceAttributes.CLOUD_PLATFORM,
ResourceAttributes.CloudPlatformValues.AWS_ELASTIC_BEANSTALK);
attrBuilders.put(CLOUD_PROVIDER, AWS);
attrBuilders.put(CLOUD_PLATFORM, AWS_ELASTIC_BEANSTALK);
return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0);
}
private BeanstalkResource() {}

View File

@ -10,7 +10,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
/** {@link ResourceProvider} for automatically configuring {@link BeanstalkResource}. */
public final class BeanstalkResourceProvider implements ResourceProvider {
public final class BeanstalkResourceProvider extends CloudResourceProvider {
@Override
public Resource createResource(ConfigProperties config) {
return BeanstalkResource.get();

View File

@ -0,0 +1,19 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.internal.ConditionalResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
abstract class CloudResourceProvider implements ConditionalResourceProvider {
@Override
public final boolean shouldApply(ConfigProperties config, Resource existing) {
return existing.getAttribute(CLOUD_PROVIDER) == null;
}
}

View File

@ -5,13 +5,24 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_ACCOUNT_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_AVAILABILITY_ZONE;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AWS_EC2;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.HOST_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.HOST_IMAGE_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.HOST_NAME;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.HOST_TYPE;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
@ -78,9 +89,8 @@ public final class Ec2Resource {
String hostname = fetchHostname(hostnameUrl, token);
AttributesBuilder attrBuilders = Attributes.builder();
attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS);
attrBuilders.put(
ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_EC2);
attrBuilders.put(CLOUD_PROVIDER, IncubatingAttributes.CloudProviderIncubatingValues.AWS);
attrBuilders.put(CLOUD_PLATFORM, AWS_EC2);
try (JsonParser parser = JSON_FACTORY.createParser(identity)) {
parser.nextToken();
@ -91,24 +101,24 @@ public final class Ec2Resource {
while (parser.nextToken() != JsonToken.END_OBJECT) {
String value = parser.nextTextValue();
switch (parser.getCurrentName()) {
switch (parser.currentName()) {
case "instanceId":
attrBuilders.put(ResourceAttributes.HOST_ID, value);
attrBuilders.put(HOST_ID, value);
break;
case "availabilityZone":
attrBuilders.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, value);
attrBuilders.put(CLOUD_AVAILABILITY_ZONE, value);
break;
case "instanceType":
attrBuilders.put(ResourceAttributes.HOST_TYPE, value);
attrBuilders.put(HOST_TYPE, value);
break;
case "imageId":
attrBuilders.put(ResourceAttributes.HOST_IMAGE_ID, value);
attrBuilders.put(HOST_IMAGE_ID, value);
break;
case "accountId":
attrBuilders.put(ResourceAttributes.CLOUD_ACCOUNT_ID, value);
attrBuilders.put(CLOUD_ACCOUNT_ID, value);
break;
case "region":
attrBuilders.put(ResourceAttributes.CLOUD_REGION, value);
attrBuilders.put(CLOUD_REGION, value);
break;
default:
parser.skipChildren();
@ -119,9 +129,9 @@ public final class Ec2Resource {
return Resource.empty();
}
attrBuilders.put(ResourceAttributes.HOST_NAME, hostname);
attrBuilders.put(HOST_NAME, hostname);
return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0);
}
private static String fetchToken(URL tokenUrl) {

View File

@ -10,7 +10,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
/** {@link ResourceProvider} for automatically configuring {@link Ec2Resource}. */
public final class Ec2ResourceProvider implements ResourceProvider {
public final class Ec2ResourceProvider extends CloudResourceProvider {
@Override
public Resource createResource(ConfigProperties config) {
return Ec2Resource.get();

View File

@ -5,15 +5,38 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_CLUSTER_ARN;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_CONTAINER_ARN;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_LAUNCHTYPE;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_TASK_ARN;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_TASK_FAMILY;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_ECS_TASK_REVISION;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_LOG_GROUP_ARNS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_LOG_GROUP_NAMES;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_LOG_STREAM_ARNS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.AWS_LOG_STREAM_NAMES;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_ACCOUNT_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_AVAILABILITY_ZONE;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_RESOURCE_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_IMAGE_NAME;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_NAME;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AWS_ECS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudProviderIncubatingValues.AWS;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.IOException;
import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.logging.Level;
@ -57,7 +80,7 @@ public final class EcsResource {
// For TaskARN, Family, Revision.
// May put the same attribute twice but that shouldn't matter.
fetchMetadata(httpClient, ecsMetadataUrl + "/task", attrBuilders);
return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0);
}
// Not running on ECS
return Resource.empty();
@ -69,9 +92,8 @@ public final class EcsResource {
if (json.isEmpty()) {
return;
}
attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS);
attrBuilders.put(
ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_ECS);
attrBuilders.put(CLOUD_PROVIDER, AWS);
attrBuilders.put(CLOUD_PLATFORM, AWS_ECS);
try (JsonParser parser = JSON_FACTORY.createParser(json)) {
parser.nextToken();
LogArnBuilder logArnBuilder = new LogArnBuilder();
@ -81,23 +103,55 @@ public final class EcsResource {
.getLogGroupArn()
.ifPresent(
logGroupArn -> {
attrBuilders.put(
ResourceAttributes.AWS_LOG_GROUP_ARNS, Collections.singletonList(logGroupArn));
attrBuilders.put(AWS_LOG_GROUP_ARNS, Collections.singletonList(logGroupArn));
});
logArnBuilder
.getLogStreamArn()
.ifPresent(
logStreamArn -> {
attrBuilders.put(
ResourceAttributes.AWS_LOG_STREAM_ARNS,
Collections.singletonList(logStreamArn));
attrBuilders.put(AWS_LOG_STREAM_ARNS, Collections.singletonList(logStreamArn));
});
} catch (IOException e) {
logger.log(Level.WARNING, "Can't get ECS metadata", e);
}
}
private static Optional<String> getAccountId(@Nullable String arn) {
return getArnPart(arn, ArnPart.ACCOUNT);
}
private static Optional<String> getRegion(@Nullable String arn) {
return getArnPart(arn, ArnPart.REGION);
}
private static enum ArnPart {
REGION(3),
ACCOUNT(4);
final int partIndex;
private ArnPart(int partIndex) {
this.partIndex = partIndex;
}
}
private static Optional<String> getArnPart(@Nullable String arn, ArnPart arnPart) {
if (arn == null) {
return Optional.empty();
}
String[] arnParts = arn.split(":");
if (arnPart.partIndex >= arnParts.length) {
return Optional.empty();
}
return Optional.of(arnParts[arnPart.partIndex]);
}
// Suppression is required for CONTAINER_IMAGE_TAG until we are ready to upgrade.
@SuppressWarnings("deprecation")
static void parseResponse(
JsonParser parser, AttributesBuilder attrBuilders, LogArnBuilder logArnBuilder)
throws IOException {
@ -106,24 +160,41 @@ public final class EcsResource {
return;
}
// Either the container ARN or the task ARN, they both contain the
// account id and region tokens we need later for the cloud.account.id
// and cloud.region attributes.
String arn = null;
// Cluster can either be ARN or short name.
String cluster = null;
while (parser.nextToken() != JsonToken.END_OBJECT) {
String value = parser.nextTextValue();
switch (parser.getCurrentName()) {
switch (parser.currentName()) {
case "AvailabilityZone":
attrBuilders.put(CLOUD_AVAILABILITY_ZONE, value);
break;
case "DockerId":
attrBuilders.put(ResourceAttributes.CONTAINER_ID, value);
attrBuilders.put(CONTAINER_ID, value);
break;
case "DockerName":
attrBuilders.put(ResourceAttributes.CONTAINER_NAME, value);
attrBuilders.put(CONTAINER_NAME, value);
break;
case "Cluster":
cluster = value;
break;
case "ContainerARN":
attrBuilders.put(ResourceAttributes.AWS_ECS_CONTAINER_ARN, value);
arn = value;
attrBuilders.put(AWS_ECS_CONTAINER_ARN, value);
attrBuilders.put(CLOUD_RESOURCE_ID, value);
logArnBuilder.setContainerArn(value);
break;
case "Image":
DockerImage parsedImage = DockerImage.parse(value);
if (parsedImage != null) {
attrBuilders.put(ResourceAttributes.CONTAINER_IMAGE_NAME, parsedImage.getRepository());
attrBuilders.put(ResourceAttributes.CONTAINER_IMAGE_TAG, parsedImage.getTag());
attrBuilders.put(CONTAINER_IMAGE_NAME, parsedImage.getRepository());
attrBuilders.put(
io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_IMAGE_TAGS,
parsedImage.getTag());
}
break;
case "ImageID":
@ -134,33 +205,51 @@ public final class EcsResource {
parseResponse(parser, attrBuilders, logArnBuilder);
break;
case "awslogs-group":
attrBuilders.put(ResourceAttributes.AWS_LOG_GROUP_NAMES, value);
attrBuilders.put(AWS_LOG_GROUP_NAMES, value);
logArnBuilder.setLogGroupName(value);
break;
case "awslogs-stream":
attrBuilders.put(ResourceAttributes.AWS_LOG_STREAM_NAMES, value);
attrBuilders.put(AWS_LOG_STREAM_NAMES, value);
logArnBuilder.setLogStreamName(value);
break;
case "awslogs-region":
logArnBuilder.setRegion(value);
break;
case "TaskARN":
attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_ARN, value);
arn = value;
attrBuilders.put(AWS_ECS_TASK_ARN, value);
break;
case "LaunchType":
attrBuilders.put(ResourceAttributes.AWS_ECS_LAUNCHTYPE, value.toLowerCase());
attrBuilders.put(AWS_ECS_LAUNCHTYPE, value.toLowerCase(Locale.ROOT));
break;
case "Family":
attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_FAMILY, value);
attrBuilders.put(AWS_ECS_TASK_FAMILY, value);
break;
case "Revision":
attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_REVISION, value);
attrBuilders.put(AWS_ECS_TASK_REVISION, value);
break;
default:
parser.skipChildren();
break;
}
}
String region = getRegion(arn).orElse(null);
String account = getAccountId(arn).orElse(null);
if (region != null) {
attrBuilders.put(CLOUD_REGION, region);
}
if (account != null) {
attrBuilders.put(CLOUD_ACCOUNT_ID, account);
}
if (cluster != null) {
if (cluster.contains(":")) {
attrBuilders.put(AWS_ECS_CLUSTER_ARN, cluster);
} else {
String clusterArn = String.format("arn:aws:ecs:%s:%s:cluster/%s", region, account, cluster);
attrBuilders.put(AWS_ECS_CLUSTER_ARN, clusterArn);
}
}
}
private EcsResource() {}
@ -192,9 +281,7 @@ public final class EcsResource {
}
void setContainerArn(@Nullable String containerArn) {
if (containerArn != null) {
account = containerArn.split(":")[4];
}
account = getAccountId(containerArn).orElse(null);
}
Optional<String> getLogGroupArn() {
@ -227,7 +314,7 @@ public final class EcsResource {
private static final Pattern imagePattern =
Pattern.compile(
"^(?<repository>([^/\\s]+/)?([^:\\s]+))(:(?<tag>[^@\\s]+))?(@sha256:(?<sha256>\\d+))?$");
"^(?<repository>([^/\\s]+/)?([^:\\s]+))(:(?<tag>[^@\\s]+))?(@sha256:(?<sha256>[\\da-fA-F]+))?$");
final String repository;
final String tag;

View File

@ -10,7 +10,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
/** {@link ResourceProvider} for automatically configuring {@link EcsResource}. */
public final class EcsResourceProvider implements ResourceProvider {
public final class EcsResourceProvider extends CloudResourceProvider {
@Override
public Resource createResource(ConfigProperties config) {
return EcsResource.get();

View File

@ -5,13 +5,20 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_ID;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AWS_EKS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudProviderIncubatingValues.AWS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.K8S_CLUSTER_NAME;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@ -65,21 +72,20 @@ public final class EksResource {
}
AttributesBuilder attrBuilders = Attributes.builder();
attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS);
attrBuilders.put(
ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_EKS);
attrBuilders.put(CLOUD_PROVIDER, AWS);
attrBuilders.put(CLOUD_PLATFORM, AWS_EKS);
String clusterName = getClusterName(httpClient);
if (clusterName != null && !clusterName.isEmpty()) {
attrBuilders.put(ResourceAttributes.K8S_CLUSTER_NAME, clusterName);
attrBuilders.put(K8S_CLUSTER_NAME, clusterName);
}
String containerId = dockerHelper.getContainerId();
if (containerId != null && !containerId.isEmpty()) {
attrBuilders.put(ResourceAttributes.CONTAINER_ID, containerId);
attrBuilders.put(CONTAINER_ID, containerId);
}
return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0);
}
private static boolean isEks(
@ -120,7 +126,7 @@ public final class EksResource {
while (parser.nextToken() != JsonToken.END_OBJECT) {
parser.nextToken();
if (!parser.getCurrentName().equals("data")) {
if (!parser.currentName().equals("data")) {
parser.skipChildren();
continue;
}
@ -131,7 +137,7 @@ public final class EksResource {
while (parser.nextToken() != JsonToken.END_OBJECT) {
String value = parser.nextTextValue();
if (!parser.getCurrentName().equals("cluster.name")) {
if (!parser.currentName().equals("cluster.name")) {
parser.skipChildren();
continue;
}

View File

@ -10,7 +10,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
/** {@link ResourceProvider} for automatically configuring {@link EksResource}. */
public final class EksResourceProvider implements ResourceProvider {
public final class EksResourceProvider extends CloudResourceProvider {
@Override
public Resource createResource(ConfigProperties config) {
return EksResource.get();

View File

@ -0,0 +1,90 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.aws.resource;
import io.opentelemetry.api.common.AttributeKey;
import java.util.List;
/**
* Inlines incubating attributes until they are stable, doing this prevents having a direct
* dependency on incubating artifact which can conflict with another incubating version.
*/
class IncubatingAttributes {
private IncubatingAttributes() {}
public static final AttributeKey<String> CLOUD_ACCOUNT_ID =
AttributeKey.stringKey("cloud.account.id");
public static final AttributeKey<String> CLOUD_AVAILABILITY_ZONE =
AttributeKey.stringKey("cloud.availability_zone");
public static final AttributeKey<String> CLOUD_PLATFORM =
AttributeKey.stringKey("cloud.platform");
public static final AttributeKey<String> CLOUD_PROVIDER =
AttributeKey.stringKey("cloud.provider");
public static final AttributeKey<String> CLOUD_REGION = AttributeKey.stringKey("cloud.region");
public static final AttributeKey<String> CLOUD_RESOURCE_ID =
AttributeKey.stringKey("cloud.resource_id");
public static final AttributeKey<List<String>> CONTAINER_IMAGE_TAGS =
AttributeKey.stringArrayKey("container.image.tags");
public static final class CloudPlatformIncubatingValues {
public static final String AWS_EC2 = "aws_ec2";
public static final String AWS_ECS = "aws_ecs";
public static final String AWS_EKS = "aws_eks";
public static final String AWS_LAMBDA = "aws_lambda";
public static final String AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk";
private CloudPlatformIncubatingValues() {}
}
public static final class CloudProviderIncubatingValues {
public static final String AWS = "aws";
private CloudProviderIncubatingValues() {}
}
public static final AttributeKey<String> SERVICE_INSTANCE_ID =
AttributeKey.stringKey("service.instance.id");
public static final AttributeKey<String> SERVICE_NAMESPACE =
AttributeKey.stringKey("service.namespace");
public static final AttributeKey<String> HOST_ID = AttributeKey.stringKey("host.id");
public static final AttributeKey<String> HOST_IMAGE_ID = AttributeKey.stringKey("host.image.id");
public static final AttributeKey<String> HOST_NAME = AttributeKey.stringKey("host.name");
public static final AttributeKey<String> HOST_TYPE = AttributeKey.stringKey("host.type");
public static final AttributeKey<String> CONTAINER_ID = AttributeKey.stringKey("container.id");
public static final AttributeKey<String> CONTAINER_IMAGE_NAME =
AttributeKey.stringKey("container.image.name");
public static final AttributeKey<String> CONTAINER_NAME =
AttributeKey.stringKey("container.name");
public static final AttributeKey<String> K8S_CLUSTER_NAME =
AttributeKey.stringKey("k8s.cluster.name");
public static final AttributeKey<String> AWS_ECS_CLUSTER_ARN =
AttributeKey.stringKey("aws.ecs.cluster.arn");
public static final AttributeKey<String> AWS_ECS_CONTAINER_ARN =
AttributeKey.stringKey("aws.ecs.container.arn");
public static final AttributeKey<String> AWS_ECS_LAUNCHTYPE =
AttributeKey.stringKey("aws.ecs.launchtype");
public static final AttributeKey<String> AWS_ECS_TASK_ARN =
AttributeKey.stringKey("aws.ecs.task.arn");
public static final AttributeKey<String> AWS_ECS_TASK_FAMILY =
AttributeKey.stringKey("aws.ecs.task.family");
public static final AttributeKey<String> AWS_ECS_TASK_REVISION =
AttributeKey.stringKey("aws.ecs.task.revision");
public static final AttributeKey<List<String>> AWS_LOG_GROUP_ARNS =
AttributeKey.stringArrayKey("aws.log.group.arns");
public static final AttributeKey<List<String>> AWS_LOG_GROUP_NAMES =
AttributeKey.stringArrayKey("aws.log.group.names");
public static final AttributeKey<List<String>> AWS_LOG_STREAM_ARNS =
AttributeKey.stringArrayKey("aws.log.stream.arns");
public static final AttributeKey<List<String>> AWS_LOG_STREAM_NAMES =
AttributeKey.stringArrayKey("aws.log.stream.names");
public static final AttributeKey<String> FAAS_NAME = AttributeKey.stringKey("faas.name");
public static final AttributeKey<String> FAAS_VERSION = AttributeKey.stringKey("faas.version");
}

View File

@ -5,10 +5,18 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AWS_LAMBDA;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CloudProviderIncubatingValues.AWS;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.FAAS_NAME;
import static io.opentelemetry.contrib.aws.resource.IncubatingAttributes.FAAS_VERSION;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.util.Map;
import java.util.stream.Stream;
@ -39,23 +47,20 @@ public final class LambdaResource {
return Resource.empty();
}
AttributesBuilder builder =
Attributes.builder()
.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS);
builder.put(
ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_LAMBDA);
AttributesBuilder builder = Attributes.builder().put(CLOUD_PROVIDER, AWS);
builder.put(CLOUD_PLATFORM, AWS_LAMBDA);
if (!region.isEmpty()) {
builder.put(ResourceAttributes.CLOUD_REGION, region);
builder.put(CLOUD_REGION, region);
}
if (!functionName.isEmpty()) {
builder.put(ResourceAttributes.FAAS_NAME, functionName);
builder.put(FAAS_NAME, functionName);
}
if (!functionVersion.isEmpty()) {
builder.put(ResourceAttributes.FAAS_VERSION, functionVersion);
builder.put(FAAS_VERSION, functionVersion);
}
return Resource.create(builder.build(), ResourceAttributes.SCHEMA_URL);
return Resource.create(builder.build(), SchemaUrls.V1_25_0);
}
private static boolean isLambda(String... envVariables) {

View File

@ -10,7 +10,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
/** {@link ResourceProvider} for automatically configuring {@link LambdaResource}. */
public final class LambdaResourceProvider implements ResourceProvider {
public final class LambdaResourceProvider extends CloudResourceProvider {
@Override
public Resource createResource(ConfigProperties config) {
return LambdaResource.get();

View File

@ -6,14 +6,19 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID;
import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_NAMESPACE;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.entry;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.File;
import java.io.IOException;
import java.util.ServiceLoader;
@ -28,17 +33,17 @@ class BeanstalkResourceTest {
String content =
"{\"noise\": \"noise\", \"deployment_id\":4,\""
+ "version_label\":\"2\",\"environment_name\":\"HttpSubscriber-env\"}";
Files.write(content.getBytes(Charsets.UTF_8), file);
Files.write(content.getBytes(UTF_8), file);
Resource resource = BeanstalkResource.buildResource(file.getPath());
Attributes attributes = resource.getAttributes();
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_elastic_beanstalk"),
entry(ResourceAttributes.SERVICE_INSTANCE_ID, "4"),
entry(ResourceAttributes.SERVICE_VERSION, "2"),
entry(ResourceAttributes.SERVICE_NAMESPACE, "HttpSubscriber-env"));
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_elastic_beanstalk"),
entry(SERVICE_INSTANCE_ID, "4"),
entry(SERVICE_VERSION, "2"),
entry(SERVICE_NAMESPACE, "HttpSubscriber-env"));
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
}
@Test
@ -54,7 +59,7 @@ class BeanstalkResourceTest {
String content =
"\"deployment_id\":4,\"version_label\":\"2\",\""
+ "environment_name\":\"HttpSubscriber-env\"}";
Files.write(content.getBytes(Charsets.UTF_8), file);
Files.write(content.getBytes(UTF_8), file);
Attributes attributes = BeanstalkResource.buildResource(file.getPath()).getAttributes();
assertThat(attributes).isEmpty();
}

View File

@ -5,9 +5,9 @@
package io.opentelemetry.contrib.aws.resource;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import java.io.File;
import java.io.IOException;
@ -26,7 +26,7 @@ class DockerHelperTest {
void testContainerIdMissing(@TempDir File tempFolder) throws IOException {
File file = new File(tempFolder, "no_container_id");
String content = "13:pids:/\n" + "12:hugetlb:/\n" + "11:net_prio:/";
Files.write(content.getBytes(Charsets.UTF_8), file);
Files.write(content.getBytes(UTF_8), file);
DockerHelper dockerHelper = new DockerHelper(file.getPath());
assertThat(dockerHelper.getContainerId()).isEmpty();
@ -37,7 +37,7 @@ class DockerHelperTest {
File file = new File(tempFolder, "cgroup");
String expected = "386a1920640799b5bf5a39bd94e489e5159a88677d96ca822ce7c433ff350163";
String content = "dummy\n11:devices:/ecs/bbc36dd0-5ee0-4007-ba96-c590e0b278d2/" + expected;
Files.write(content.getBytes(Charsets.UTF_8), file);
Files.write(content.getBytes(UTF_8), file);
DockerHelper dockerHelper = new DockerHelper(file.getPath());
assertThat(dockerHelper.getContainerId()).isEqualTo(expected);

View File

@ -6,6 +6,15 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID;
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_IMAGE_ID;
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME;
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE;
import static org.assertj.core.api.Assertions.entry;
import com.linecorp.armeria.common.AggregatedHttpRequest;
@ -16,7 +25,7 @@ import com.linecorp.armeria.testing.junit5.server.mock.MockWebServerExtension;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.util.ServiceLoader;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@ -43,7 +52,8 @@ class Ec2ResourceTest {
+ " \"region\" : \"us-west-2\"\n"
+ "}";
@RegisterExtension public static MockWebServerExtension server = new MockWebServerExtension();
@RegisterExtension
public static final MockWebServerExtension server = new MockWebServerExtension();
@Test
void imdsv2() {
@ -52,20 +62,20 @@ class Ec2ResourceTest {
server.enqueue(HttpResponse.of("ec2-1-2-3-4"));
Resource resource = Ec2Resource.buildResource("localhost:" + server.httpPort());
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
Attributes attributes = resource.getAttributes();
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ec2"),
entry(ResourceAttributes.HOST_ID, "i-1234567890abcdef0"),
entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-west-2b"),
entry(ResourceAttributes.HOST_TYPE, "t2.micro"),
entry(ResourceAttributes.HOST_IMAGE_ID, "ami-5fb8c835"),
entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "123456789012"),
entry(ResourceAttributes.CLOUD_REGION, "us-west-2"),
entry(ResourceAttributes.HOST_NAME, "ec2-1-2-3-4"));
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_ec2"),
entry(HOST_ID, "i-1234567890abcdef0"),
entry(CLOUD_AVAILABILITY_ZONE, "us-west-2b"),
entry(HOST_TYPE, "t2.micro"),
entry(HOST_IMAGE_ID, "ami-5fb8c835"),
entry(CLOUD_ACCOUNT_ID, "123456789012"),
entry(CLOUD_REGION, "us-west-2"),
entry(HOST_NAME, "ec2-1-2-3-4"));
AggregatedHttpRequest request1 = server.takeRequest().request();
assertThat(request1.path()).isEqualTo("/latest/api/token");
@ -87,20 +97,20 @@ class Ec2ResourceTest {
server.enqueue(HttpResponse.of("ec2-1-2-3-4"));
Resource resource = Ec2Resource.buildResource("localhost:" + server.httpPort());
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
Attributes attributes = resource.getAttributes();
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ec2"),
entry(ResourceAttributes.HOST_ID, "i-1234567890abcdef0"),
entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-west-2b"),
entry(ResourceAttributes.HOST_TYPE, "t2.micro"),
entry(ResourceAttributes.HOST_IMAGE_ID, "ami-5fb8c835"),
entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "123456789012"),
entry(ResourceAttributes.CLOUD_REGION, "us-west-2"),
entry(ResourceAttributes.HOST_NAME, "ec2-1-2-3-4"));
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_ec2"),
entry(HOST_ID, "i-1234567890abcdef0"),
entry(CLOUD_AVAILABILITY_ZONE, "us-west-2b"),
entry(HOST_TYPE, "t2.micro"),
entry(HOST_IMAGE_ID, "ami-5fb8c835"),
entry(CLOUD_ACCOUNT_ID, "123456789012"),
entry(CLOUD_REGION, "us-west-2"),
entry(HOST_NAME, "ec2-1-2-3-4"));
AggregatedHttpRequest request1 = server.takeRequest().request();
assertThat(request1.path()).isEqualTo("/latest/api/token");

View File

@ -6,6 +6,27 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_CLUSTER_ARN;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_CONTAINER_ARN;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_LAUNCHTYPE;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_ARN;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_FAMILY;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_REVISION;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_ARNS;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_NAMES;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_ARNS;
import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_NAMES;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_NAME;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_TAGS;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_NAME;
import static java.util.Collections.singletonList;
import static org.assertj.core.api.Assertions.entry;
import static org.mockito.Mockito.when;
@ -14,7 +35,7 @@ import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
@ -46,25 +67,27 @@ class EcsResourceTest {
Resource resource = EcsResource.buildResource(mockSysEnv, mockHttpClient);
Attributes attributes = resource.getAttributes();
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ecs"),
entry(ResourceAttributes.CONTAINER_NAME, "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901"),
entry(
ResourceAttributes.CONTAINER_ID,
"43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946"),
entry(ResourceAttributes.CONTAINER_IMAGE_NAME, "nrdlngr/nginx-curl"),
entry(ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"),
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_ecs"),
entry(CLOUD_ACCOUNT_ID, "012345678910"),
entry(CLOUD_REGION, "us-east-2"),
entry(CLOUD_AVAILABILITY_ZONE, "us-east-2b"),
entry(CONTAINER_NAME, "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901"),
entry(CONTAINER_ID, "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946"),
entry(CONTAINER_IMAGE_NAME, "nrdlngr/nginx-curl"),
entry(CONTAINER_IMAGE_TAGS, singletonList("latest")),
entry(AWS_ECS_CLUSTER_ARN, "arn:aws:ecs:us-east-2:012345678910:cluster/default"),
entry(
AttributeKey.stringKey("aws.ecs.container.image.id"),
"sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165"),
entry(
ResourceAttributes.AWS_ECS_TASK_ARN,
AWS_ECS_TASK_ARN,
"arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3"),
entry(ResourceAttributes.AWS_ECS_TASK_FAMILY, "nginx"),
entry(ResourceAttributes.AWS_ECS_TASK_REVISION, "5"));
entry(AWS_ECS_TASK_FAMILY, "nginx"),
entry(AWS_ECS_TASK_REVISION, "5"));
}
@Test
@ -80,44 +103,43 @@ class EcsResourceTest {
Resource resource = EcsResource.buildResource(mockSysEnv, mockHttpClient);
Attributes attributes = resource.getAttributes();
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ecs"),
entry(ResourceAttributes.CONTAINER_NAME, "ecs-curltest-26-curl-cca48e8dcadd97805600"),
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_ecs"),
entry(CLOUD_ACCOUNT_ID, "111122223333"),
entry(CLOUD_REGION, "us-west-2"),
entry(
ResourceAttributes.CONTAINER_ID,
"ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66"),
entry(
ResourceAttributes.CONTAINER_IMAGE_NAME,
"111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest"),
entry(ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"),
CLOUD_RESOURCE_ID,
"arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9"),
entry(CLOUD_AVAILABILITY_ZONE, "us-west-2d"),
entry(CONTAINER_NAME, "ecs-curltest-26-curl-cca48e8dcadd97805600"),
entry(CONTAINER_ID, "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66"),
entry(CONTAINER_IMAGE_NAME, "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest"),
entry(CONTAINER_IMAGE_TAGS, singletonList("latest")),
entry(
AttributeKey.stringKey("aws.ecs.container.image.id"),
"sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553"),
entry(AWS_ECS_CLUSTER_ARN, "arn:aws:ecs:us-west-2:111122223333:cluster/default"),
entry(
ResourceAttributes.AWS_ECS_CONTAINER_ARN,
AWS_ECS_CONTAINER_ARN,
"arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9"),
entry(AWS_LOG_GROUP_NAMES, singletonList("/ecs/metadata")),
entry(
ResourceAttributes.AWS_LOG_GROUP_NAMES, Collections.singletonList("/ecs/metadata")),
AWS_LOG_GROUP_ARNS,
singletonList("arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata")),
entry(AWS_LOG_STREAM_NAMES, singletonList("ecs/curl/8f03e41243824aea923aca126495f665")),
entry(
ResourceAttributes.AWS_LOG_GROUP_ARNS,
Collections.singletonList(
"arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata")),
entry(
ResourceAttributes.AWS_LOG_STREAM_NAMES,
Collections.singletonList("ecs/curl/8f03e41243824aea923aca126495f665")),
entry(
ResourceAttributes.AWS_LOG_STREAM_ARNS,
Collections.singletonList(
AWS_LOG_STREAM_ARNS,
singletonList(
"arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata:log-stream:ecs/curl/8f03e41243824aea923aca126495f665")),
entry(
ResourceAttributes.AWS_ECS_TASK_ARN,
AWS_ECS_TASK_ARN,
"arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c"),
entry(ResourceAttributes.AWS_ECS_LAUNCHTYPE, "ec2"),
entry(ResourceAttributes.AWS_ECS_TASK_FAMILY, "curltest"),
entry(ResourceAttributes.AWS_ECS_TASK_REVISION, "26"));
entry(AWS_ECS_LAUNCHTYPE, "ec2"),
entry(AWS_ECS_TASK_FAMILY, "curltest"),
entry(AWS_ECS_TASK_REVISION, "26"));
}
@Test

View File

@ -9,16 +9,20 @@ import static io.opentelemetry.contrib.aws.resource.EksResource.AUTH_CONFIGMAP_P
import static io.opentelemetry.contrib.aws.resource.EksResource.CW_CONFIGMAP_PATH;
import static io.opentelemetry.contrib.aws.resource.EksResource.K8S_SVC_URL;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID;
import static io.opentelemetry.semconv.incubating.K8sIncubatingAttributes.K8S_CLUSTER_NAME;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.entry;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.io.File;
import java.io.IOException;
import java.util.ServiceLoader;
@ -40,10 +44,10 @@ public class EksResourceTest {
void testEks(@TempDir File tempFolder) throws IOException {
File mockK8sTokenFile = new File(tempFolder, "k8sToken");
String token = "token123";
Files.write(token.getBytes(Charsets.UTF_8), mockK8sTokenFile);
Files.write(token.getBytes(UTF_8), mockK8sTokenFile);
File mockK8sKeystoreFile = new File(tempFolder, "k8sCert");
String truststore = "truststore123";
Files.write(truststore.getBytes(Charsets.UTF_8), mockK8sKeystoreFile);
Files.write(truststore.getBytes(UTF_8), mockK8sKeystoreFile);
when(httpClient.fetchString(any(), Mockito.eq(K8S_SVC_URL + AUTH_CONFIGMAP_PATH), any(), any()))
.thenReturn("not empty");
@ -59,13 +63,13 @@ public class EksResourceTest {
mockK8sKeystoreFile.getPath());
Attributes attributes = eksResource.getAttributes();
assertThat(eksResource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(eksResource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_eks"),
entry(ResourceAttributes.K8S_CLUSTER_NAME, "my-cluster"),
entry(ResourceAttributes.CONTAINER_ID, "0123456789A"));
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_eks"),
entry(K8S_CLUSTER_NAME, "my-cluster"),
entry(CONTAINER_ID, "0123456789A"));
}
@Test

View File

@ -6,6 +6,11 @@
package io.opentelemetry.contrib.aws.resource;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME;
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION;
import static java.util.Collections.emptyMap;
import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.entry;
@ -13,7 +18,7 @@ import static org.assertj.core.api.Assertions.entry;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import io.opentelemetry.semconv.SchemaUrls;
import java.util.HashMap;
import java.util.Map;
import java.util.ServiceLoader;
@ -32,12 +37,12 @@ class LambdaResourceTest {
LambdaResource.buildResource(singletonMap("AWS_LAMBDA_FUNCTION_NAME", "my-function"));
Attributes attributes = resource.getAttributes();
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_lambda"),
entry(ResourceAttributes.FAAS_NAME, "my-function"));
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_lambda"),
entry(FAAS_NAME, "my-function"));
}
@Test
@ -50,14 +55,14 @@ class LambdaResourceTest {
Resource resource = LambdaResource.buildResource(envVars);
Attributes attributes = resource.getAttributes();
assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL);
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0);
assertThat(attributes)
.containsOnly(
entry(ResourceAttributes.CLOUD_PROVIDER, "aws"),
entry(ResourceAttributes.CLOUD_PLATFORM, "aws_lambda"),
entry(ResourceAttributes.CLOUD_REGION, "us-east-1"),
entry(ResourceAttributes.FAAS_NAME, "my-function"),
entry(ResourceAttributes.FAAS_VERSION, "1.2.3"));
entry(CLOUD_PROVIDER, "aws"),
entry(CLOUD_PLATFORM, "aws_lambda"),
entry(CLOUD_REGION, "us-east-1"),
entry(FAAS_NAME, "my-function"),
entry(FAAS_VERSION, "1.2.3"));
}
@Test

View File

@ -10,6 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import com.google.common.collect.ImmutableMap;
import com.linecorp.armeria.common.AggregatedHttpRequest;
import com.linecorp.armeria.common.HttpResponse;
import com.linecorp.armeria.common.TlsKeyPair;
import com.linecorp.armeria.server.ServerBuilder;
import com.linecorp.armeria.testing.junit5.server.SelfSignedCertificateExtension;
import com.linecorp.armeria.testing.junit5.server.ServerExtension;
@ -25,7 +26,8 @@ import org.junit.jupiter.api.io.TempDir;
class SimpleHttpClientTest {
@RegisterExtension public static MockWebServerExtension server = new MockWebServerExtension();
@RegisterExtension
public static final MockWebServerExtension server = new MockWebServerExtension();
@Test
void testFetchString() {
@ -58,15 +60,16 @@ class SimpleHttpClientTest {
static class HttpsServerTest {
@RegisterExtension
@Order(1)
public static SelfSignedCertificateExtension certificate = new SelfSignedCertificateExtension();
public static final SelfSignedCertificateExtension certificate =
new SelfSignedCertificateExtension();
@RegisterExtension
@Order(2)
public static ServerExtension server =
public static final ServerExtension server =
new ServerExtension() {
@Override
protected void configure(ServerBuilder sb) {
sb.tls(certificate.certificateFile(), certificate.privateKeyFile());
sb.tls(TlsKeyPair.of(certificate.privateKeyFile(), certificate.certificateFile()));
sb.service("/", (ctx, req) -> HttpResponse.of("Thanks for trusting me"));
}

View File

@ -2,7 +2,7 @@
"DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
"Name": "nginx-curl",
"DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
"Image": "nrdlngr/nginx-curl",
"Image": "nrdlngr/nginx-curl:latest@sha256:8dc35e9386b5d280d285ae7a78d271a5d4a82106cb254fbed5fde4923faa8deb",
"ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
"Labels": {
"com.amazonaws.ecs.cluster": "default",
@ -28,4 +28,4 @@
]
}
]
}
}

View File

@ -1,5 +1,5 @@
{
"Cluster": "default",
"Cluster": "arn:aws:ecs:us-west-2:111122223333:cluster/default",
"TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
"Family": "curltest",
"Revision": "26",

View File

@ -5,6 +5,7 @@ the [AWS X-Ray Trace Header propagation protocol](https://docs.aws.amazon.com/xr
## Component owners
- [William Armiros](https://github.com/willarmiros), AWS
- [Lei Wang](https://github.com/wangzlei), AWS
- [Prashant Srivastava](https://github.com/srprash), AWS
Learn more about component owners in [component_owners.yml](../.github/component_owners.yml).

View File

@ -10,4 +10,11 @@ otelJava.moduleName.set("io.opentelemetry.contrib.awsxray.propagator")
dependencies {
api("io.opentelemetry:opentelemetry-api")
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
testImplementation("io.opentelemetry:opentelemetry-sdk-trace")
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
testImplementation("uk.org.webcompere:system-stubs-jupiter:2.0.3")
}

View File

@ -0,0 +1,105 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
/**
* Implementation of the AWS X-Ray Trace Header propagation protocol but with special handling for
* Lambda's {@code _X_AMZN_TRACE_ID} environment variable and {@code com.amazonaws.xray.traceHeader}
* system property.
*
* <p>To register the X-Ray propagator together with default propagator when using the SDK:
*
* <pre>{@code
* OpenTelemetrySdk.builder()
* .setPropagators(
* ContextPropagators.create(
* TextMapPropagator.composite(
* W3CTraceContextPropagator.getInstance(),
* AwsXrayLambdaPropagator.getInstance())))
* .build();
* }</pre>
*/
public final class AwsXrayLambdaPropagator implements TextMapPropagator {
private static final String AWS_TRACE_HEADER_ENV_KEY = "_X_AMZN_TRACE_ID";
private static final String AWS_TRACE_HEADER_PROP = "com.amazonaws.xray.traceHeader";
private final AwsXrayPropagator xrayPropagator = AwsXrayPropagator.getInstance();
private static final AwsXrayLambdaPropagator INSTANCE = new AwsXrayLambdaPropagator();
private AwsXrayLambdaPropagator() {
// singleton
}
public static AwsXrayLambdaPropagator getInstance() {
return INSTANCE;
}
@Override
public List<String> fields() {
return xrayPropagator.fields();
}
@Override
public <C> void inject(Context context, @Nullable C carrier, TextMapSetter<C> setter) {
xrayPropagator.inject(context, carrier, setter);
}
@Override
public <C> Context extract(Context context, @Nullable C carrier, TextMapGetter<C> getter) {
Context xrayContext = xrayPropagator.extract(context, carrier, getter);
if (Span.fromContext(context).getSpanContext().isValid()) {
return xrayContext;
}
String traceHeader = System.getProperty(AWS_TRACE_HEADER_PROP);
if (isEmptyOrNull(traceHeader)) {
traceHeader = System.getenv(AWS_TRACE_HEADER_ENV_KEY);
}
if (isEmptyOrNull(traceHeader)) {
return xrayContext;
}
return xrayPropagator.extract(
xrayContext,
Collections.singletonMap(AwsXrayPropagator.TRACE_HEADER_KEY, traceHeader),
MapGetter.INSTANCE);
}
@Override
public String toString() {
return "AwsXrayLambdaPropagator";
}
private static boolean isEmptyOrNull(@Nullable String value) {
return value == null || value.isEmpty();
}
private enum MapGetter implements TextMapGetter<Map<String, String>> {
INSTANCE;
@Override
public Set<String> keys(Map<String, String> map) {
return map.keySet();
}
@Override
@Nullable
public String get(@Nullable Map<String, String> map, String s) {
return map == null ? null : map.get(s);
}
}
}

View File

@ -5,9 +5,10 @@
package io.opentelemetry.contrib.awsxray.propagator;
import static io.opentelemetry.api.internal.OtelEncodingUtils.isValidBase16String;
import io.opentelemetry.api.baggage.Baggage;
import io.opentelemetry.api.baggage.BaggageBuilder;
import io.opentelemetry.api.baggage.BaggageEntry;
import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanContext;
@ -21,7 +22,7 @@ import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.util.Collections;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.Set;
import java.util.logging.Logger;
import javax.annotation.Nullable;
@ -38,7 +39,7 @@ import javax.annotation.Nullable;
* ContextPropagators.create(
* TextMapPropagator.composite(
* W3CTraceContextPropagator.getInstance(),
* AWSXrayPropagator.getInstance())))
* AwsXrayPropagator.getInstance())))
* .build();
* }</pre>
*/
@ -68,6 +69,17 @@ public final class AwsXrayPropagator implements TextMapPropagator {
private static final char IS_SAMPLED = '1';
private static final char NOT_SAMPLED = '0';
private static final String LINEAGE_KEY = "Lineage";
private static final char LINEAGE_DELIMITER = ':';
private static final int LINEAGE_MAX_LENGTH = 18;
private static final int LINEAGE_MIN_LENGTH = 12;
private static final int LINEAGE_HASH_LENGTH = 8;
private static final int LINEAGE_MAX_COUNTER1 = 32767;
private static final int LINEAGE_MAX_COUNTER2 = 255;
private static final int LINEAGE_MIN_COUNTER = 0;
private static final String INVALID_LINEAGE = "-1:11111111:0";
private static final int NUM_OF_LINEAGE_DELIMITERS = 2;
private static final List<String> FIELDS = Collections.singletonList(TRACE_HEADER_KEY);
private static final AwsXrayPropagator INSTANCE = new AwsXrayPropagator();
@ -127,34 +139,19 @@ public final class AwsXrayPropagator implements TextMapPropagator {
.append(samplingFlag);
Baggage baggage = Baggage.fromContext(context);
// Truncate baggage to 256 chars per X-Ray spec.
baggage.forEach(
new BiConsumer<String, BaggageEntry>() {
String lineageHeader = baggage.getEntryValue(LINEAGE_KEY);
private int baggageWrittenBytes;
if (lineageHeader != null) {
traceHeader
.append(TRACE_HEADER_DELIMITER)
.append(LINEAGE_KEY)
.append(KV_DELIMITER)
.append(lineageHeader);
}
@Override
public void accept(String key, BaggageEntry entry) {
if (key.equals(TRACE_ID_KEY)
|| key.equals(PARENT_ID_KEY)
|| key.equals(SAMPLED_FLAG_KEY)) {
return;
}
// Size is key/value pair, excludes delimiter.
int size = key.length() + entry.getValue().length() + 1;
if (baggageWrittenBytes + size > 256) {
return;
}
traceHeader
.append(TRACE_HEADER_DELIMITER)
.append(key)
.append(KV_DELIMITER)
.append(entry.getValue());
baggageWrittenBytes += size;
}
});
setter.set(carrier, TRACE_HEADER_KEY, traceHeader.toString());
// add 256 character truncation
String truncatedTraceHeader = traceHeader.substring(0, Math.min(traceHeader.length(), 256));
setter.set(carrier, TRACE_HEADER_KEY, truncatedTraceHeader);
}
@Override
@ -169,6 +166,11 @@ public final class AwsXrayPropagator implements TextMapPropagator {
return getContextFromHeader(context, carrier, getter);
}
@Override
public String toString() {
return "AwsXrayPropagator";
}
private static <C> Context getContextFromHeader(
Context context, @Nullable C carrier, TextMapGetter<C> getter) {
String traceHeader = getter.get(carrier, TRACE_HEADER_KEY);
@ -178,10 +180,20 @@ public final class AwsXrayPropagator implements TextMapPropagator {
String traceId = TraceId.getInvalid();
String spanId = SpanId.getInvalid();
String lineageHeader;
Boolean isSampled = false;
BaggageBuilder baggage = null;
int baggageReadBytes = 0;
Baggage contextBaggage = Baggage.fromContext(context);
BaggageBuilder baggageBuilder = Baggage.builder();
Set<String> baggageMap = contextBaggage.asMap().keySet();
// Copying baggage over to new Baggage object to add Lineage key
for (String baggageKey : baggageMap) {
String baggageValue = contextBaggage.getEntryValue(baggageKey);
if (baggageValue != null) {
baggageBuilder.put(baggageKey, baggageValue);
}
}
int pos = 0;
while (pos < traceHeader.length()) {
@ -210,12 +222,13 @@ public final class AwsXrayPropagator implements TextMapPropagator {
spanId = parseSpanId(value);
} else if (trimmedPart.startsWith(SAMPLED_FLAG_KEY)) {
isSampled = parseTraceFlag(value);
} else if (baggageReadBytes + trimmedPart.length() <= 256) {
if (baggage == null) {
baggage = Baggage.builder();
} else if (trimmedPart.startsWith(LINEAGE_KEY)) {
lineageHeader = parseLineageHeader(value);
if (isValidLineage(lineageHeader)) {
baggageBuilder.put(LINEAGE_KEY, lineageHeader);
} else {
logger.fine("Invalid Lineage header: " + value);
}
baggage.put(trimmedPart.substring(0, equalsIndex), value);
baggageReadBytes += trimmedPart.length();
}
}
if (isSampled == null) {
@ -238,12 +251,17 @@ public final class AwsXrayPropagator implements TextMapPropagator {
spanId,
isSampled ? TraceFlags.getSampled() : TraceFlags.getDefault(),
TraceState.getDefault());
if (spanContext.isValid()) {
context = context.with(Span.wrap(spanContext));
}
if (baggage != null) {
context = context.with(baggage.build());
Baggage baggage = baggageBuilder.build();
if (!baggage.isEmpty()) {
context = context.with(baggage);
}
return context;
}
@ -290,7 +308,8 @@ public final class AwsXrayPropagator implements TextMapPropagator {
int secondDelimiter = xrayTraceId.indexOf(TRACE_ID_DELIMITER, firstDelimiter + 2);
if (firstDelimiter != TRACE_ID_DELIMITER_INDEX_1
|| secondDelimiter == -1
|| secondDelimiter > TRACE_ID_DELIMITER_INDEX_2) {
|| secondDelimiter > TRACE_ID_DELIMITER_INDEX_2
|| xrayTraceId.length() < secondDelimiter + 25) {
return TraceId.getInvalid();
}
@ -310,6 +329,31 @@ public final class AwsXrayPropagator implements TextMapPropagator {
return xrayParentId;
}
private static String parseLineageHeader(String xrayLineageHeader) {
long numOfDelimiters = xrayLineageHeader.chars().filter(ch -> ch == LINEAGE_DELIMITER).count();
if (xrayLineageHeader.length() < LINEAGE_MIN_LENGTH
|| xrayLineageHeader.length() > LINEAGE_MAX_LENGTH
|| numOfDelimiters != NUM_OF_LINEAGE_DELIMITERS) {
return INVALID_LINEAGE;
}
return xrayLineageHeader;
}
private static boolean isValidLineage(String key) {
String[] split = key.split(String.valueOf(LINEAGE_DELIMITER));
String hash = split[1];
int counter1 = parseIntOrReturnNegative(split[0]);
int counter2 = parseIntOrReturnNegative(split[2]);
boolean isHashValid = hash.length() == LINEAGE_HASH_LENGTH && isValidBase16String(hash);
boolean isValidCounter2 = counter2 <= LINEAGE_MAX_COUNTER2 && counter2 >= LINEAGE_MIN_COUNTER;
boolean isValidCounter1 = counter1 <= LINEAGE_MAX_COUNTER1 && counter1 >= LINEAGE_MIN_COUNTER;
return isHashValid && isValidCounter2 && isValidCounter1;
}
@Nullable
private static Boolean parseTraceFlag(String xraySampledFlag) {
if (xraySampledFlag.length() != SAMPLED_FLAG_LENGTH) {
@ -326,4 +370,12 @@ public final class AwsXrayPropagator implements TextMapPropagator {
return null;
}
}
private static int parseIntOrReturnNegative(String num) {
try {
return Integer.parseInt(num);
} catch (NumberFormatException e) {
return -1;
}
}
}

View File

@ -3,9 +3,10 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator;
package io.opentelemetry.contrib.awsxray.propagator.internal;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;

View File

@ -0,0 +1,28 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator.internal;
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
public class AwsXrayComponentProvider implements ComponentProvider<TextMapPropagator> {
@Override
public Class<TextMapPropagator> getType() {
return TextMapPropagator.class;
}
@Override
public String getName() {
return "xray";
}
@Override
public TextMapPropagator create(DeclarativeConfigProperties config) {
return AwsXrayPropagator.getInstance();
}
}

View File

@ -0,0 +1,28 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator.internal;
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayLambdaPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
public class AwsXrayLambdaComponentProvider implements ComponentProvider<TextMapPropagator> {
@Override
public Class<TextMapPropagator> getType() {
return TextMapPropagator.class;
}
@Override
public String getName() {
return "xray-lambda";
}
@Override
public TextMapPropagator create(DeclarativeConfigProperties config) {
return AwsXrayLambdaPropagator.getInstance();
}
}

View File

@ -0,0 +1,27 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator.internal;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayLambdaPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
* A {@link ConfigurablePropagatorProvider} which allows enabling the {@link
* AwsXrayLambdaPropagator} with the propagator name {@code xray-lambda}.
*/
public final class AwsXrayLambdaConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator(ConfigProperties config) {
return AwsXrayLambdaPropagator.getInstance();
}
@Override
public String getName() {
return "xray-lambda";
}
}

View File

@ -1 +1,2 @@
io.opentelemetry.contrib.awsxray.propagator.AwsConfigurablePropagator
io.opentelemetry.contrib.awsxray.propagator.internal.AwsConfigurablePropagator
io.opentelemetry.contrib.awsxray.propagator.internal.AwsXrayLambdaConfigurablePropagator

View File

@ -0,0 +1,2 @@
io.opentelemetry.contrib.awsxray.propagator.internal.AwsXrayComponentProvider
io.opentelemetry.contrib.awsxray.propagator.internal.AwsXrayLambdaComponentProvider

View File

@ -0,0 +1,78 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator;
import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
import io.opentelemetry.api.trace.SpanContext;
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import java.util.LinkedHashMap;
import org.junit.jupiter.api.Test;
public class AwsXrayCompositePropagatorTest extends AwsXrayPropagatorTest {
@Override
TextMapPropagator propagator() {
return TextMapPropagator.composite(
W3CBaggagePropagator.getInstance(),
AwsXrayPropagator.getInstance(),
W3CTraceContextPropagator.getInstance());
}
@Test
void extract_traceContextOverridesXray() {
LinkedHashMap<String, String> carrier = new LinkedHashMap<>();
String w3cTraceContextTraceId = "4bf92f3577b34da6a3ce929d0e0e4736";
String w3cTraceContextSpanId = "00f067aa0ba902b7";
String traceParent =
String.format("00-%s-%s-01", w3cTraceContextTraceId, w3cTraceContextSpanId);
String traceState = "rojo=00f067aa0ba902b7";
String xrayTrace = String.format("Root=1-%s;Parent=%s;Sampled=0", TRACE_ID, SPAN_ID);
carrier.put("traceparent", traceParent);
carrier.put("tracestate", traceState);
carrier.put("X-Amzn-Trace-Id", xrayTrace);
SpanContext actualContext = getSpanContext(subject.extract(Context.current(), carrier, GETTER));
assertThat(actualContext.getTraceId()).isEqualTo(w3cTraceContextTraceId);
assertThat(actualContext.getSpanId()).isEqualTo(w3cTraceContextSpanId);
assertThat(actualContext.isSampled()).isEqualTo(true);
}
@Test
void extract_xrayOverridesTraceContext() {
TextMapPropagator propagator =
TextMapPropagator.composite(
W3CBaggagePropagator.getInstance(),
W3CTraceContextPropagator.getInstance(),
AwsXrayPropagator.getInstance());
LinkedHashMap<String, String> carrier = new LinkedHashMap<>();
String w3cTraceContextTraceId = "4bf92f3577b34da6a3ce929d0e0e4736";
String w3cTraceContextSpanId = "00f067aa0ba902b7";
String traceParent =
String.format("00-%s-%s-01", w3cTraceContextTraceId, w3cTraceContextSpanId);
String traceState = "rojo=00f067aa0ba902b7";
String xrayTrace =
String.format(
"Root=1-%s;Parent=%s;Sampled=0", "8a3c60f7-d188f8fa79d48a391a778fa6", SPAN_ID);
carrier.put("traceparent", traceParent);
carrier.put("tracestate", traceState);
carrier.put("X-Amzn-Trace-Id", xrayTrace);
SpanContext actualContext =
getSpanContext(propagator.extract(Context.current(), carrier, GETTER));
assertThat(actualContext.getTraceId()).isEqualTo(TRACE_ID);
assertThat(actualContext.getSpanId()).isEqualTo(SPAN_ID);
assertThat(actualContext.isSampled()).isEqualTo(false);
}
}

View File

@ -0,0 +1,141 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator;
import static io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator.TRACE_HEADER_KEY;
import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanContext;
import io.opentelemetry.api.trace.TraceFlags;
import io.opentelemetry.api.trace.TraceState;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.trace.ReadableSpan;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.data.LinkData;
import java.util.Collections;
import java.util.Map;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import uk.org.webcompere.systemstubs.environment.EnvironmentVariables;
import uk.org.webcompere.systemstubs.jupiter.SystemStub;
import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension;
import uk.org.webcompere.systemstubs.properties.SystemProperties;
@ExtendWith(SystemStubsExtension.class)
class AwsXrayLambdaPropagatorTest extends AwsXrayPropagatorTest {
@SystemStub final EnvironmentVariables environmentVariables = new EnvironmentVariables();
@SystemStub final SystemProperties systemProperties = new SystemProperties();
private Tracer tracer;
@Override
TextMapPropagator propagator() {
return AwsXrayLambdaPropagator.getInstance();
}
@BeforeEach
public void setup() {
tracer = SdkTracerProvider.builder().build().get("awsxray");
}
@Test
void extract_fromEnvironmentVariable() {
environmentVariables.set(
"_X_AMZN_TRACE_ID",
"Root=1-00000001-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(
getSpanContext(propagator().extract(Context.current(), Collections.emptyMap(), GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000001d188f8fa79d48a391a778fa6",
SPAN_ID,
TraceFlags.getSampled(),
TraceState.getDefault()));
}
@Test
void extract_fromSystemProperty() {
systemProperties.set(
"com.amazonaws.xray.traceHeader",
"Root=1-00000001-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(
getSpanContext(propagator().extract(Context.current(), Collections.emptyMap(), GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000001d188f8fa79d48a391a778fa6",
SPAN_ID,
TraceFlags.getSampled(),
TraceState.getDefault()));
}
@Test
void extract_systemPropertyBeforeEnvironmentVariable() {
environmentVariables.set(
"_X_AMZN_TRACE_ID",
"Root=1-00000001-240000000000000000000001;Parent=1600000000000001;Sampled=1;Foo=Bar");
systemProperties.set(
"com.amazonaws.xray.traceHeader",
"Root=1-00000002-240000000000000000000002;Parent=1600000000000002;Sampled=1;Foo=Baz");
assertThat(
getSpanContext(propagator().extract(Context.current(), Collections.emptyMap(), GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000002240000000000000000000002",
"1600000000000002",
TraceFlags.getSampled(),
TraceState.getDefault()));
}
@Test
void addLink_SystemProperty() {
Map<String, String> carrier =
Collections.singletonMap(
TRACE_HEADER_KEY,
"Root=1-00000001-240000000000000000000001;Parent=1600000000000001;Sampled=1");
environmentVariables.set(
"_X_AMZN_TRACE_ID",
"Root=1-00000002-240000000000000000000002;Parent=1600000000000002;Sampled=1;Foo=Bar");
systemProperties.set(
"com.amazonaws.xray.traceHeader",
"Root=1-00000003-240000000000000000000003;Parent=1600000000000003;Sampled=1;Foo=Baz");
Context extract = propagator().extract(Context.current(), carrier, GETTER);
ReadableSpan span =
(ReadableSpan)
tracer
.spanBuilder("test")
.setParent(extract)
.addLink(
Span.fromContext(propagator().extract(extract, carrier, GETTER))
.getSpanContext())
.startSpan();
assertThat(span.getParentSpanContext())
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000003240000000000000000000003",
"1600000000000003",
TraceFlags.getSampled(),
TraceState.getDefault()));
assertThat(span.toSpanData().getLinks())
.isEqualTo(
Collections.singletonList(
LinkData.create(
SpanContext.createFromRemoteParent(
"00000001240000000000000000000001",
"1600000000000001",
TraceFlags.getSampled(),
TraceState.getDefault()))));
}
}

View File

@ -15,23 +15,26 @@ import io.opentelemetry.api.trace.TraceFlags;
import io.opentelemetry.api.trace.TraceState;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapSetter;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.annotation.Nullable;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
class AwsXrayPropagatorTest {
private static final String TRACE_ID = "8a3c60f7d188f8fa79d48a391a778fa6";
private static final String SPAN_ID = "53995c3f42cd8ad8";
static final String TRACE_ID = "8a3c60f7d188f8fa79d48a391a778fa6";
static final String SPAN_ID = "53995c3f42cd8ad8";
private static final TextMapSetter<Map<String, String>> setter = Map::put;
private static final TextMapGetter<Map<String, String>> getter =
static final TextMapSetter<Map<String, String>> SETTER = Map::put;
static final TextMapGetter<Map<String, String>> GETTER =
new TextMapGetter<Map<String, String>>() {
@Override
public Set<String> keys(Map<String, String> carrier) {
@ -44,17 +47,27 @@ class AwsXrayPropagatorTest {
return carrier.get(key);
}
};
private final AwsXrayPropagator xrayPropagator = AwsXrayPropagator.getInstance();
protected static final AwsXrayPropagator X_RAY = AwsXrayPropagator.getInstance();
protected final TextMapPropagator subject = propagator();
TextMapPropagator propagator() {
return AwsXrayPropagator.getInstance();
}
@Test
void fields_valid() {
assertThat(subject.fields()).contains("X-Amzn-Trace-Id");
}
@Test
void inject_SampledContext() {
Map<String, String> carrier = new LinkedHashMap<>();
xrayPropagator.inject(
subject.inject(
withSpanContext(
SpanContext.create(TRACE_ID, SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault()),
Context.current()),
carrier,
setter);
SETTER);
assertThat(carrier)
.containsEntry(
@ -65,12 +78,12 @@ class AwsXrayPropagatorTest {
@Test
void inject_NotSampledContext() {
Map<String, String> carrier = new LinkedHashMap<>();
xrayPropagator.inject(
subject.inject(
withSpanContext(
SpanContext.create(TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()),
Context.current()),
carrier,
setter);
SETTER);
assertThat(carrier)
.containsEntry(
@ -81,64 +94,44 @@ class AwsXrayPropagatorTest {
@Test
void inject_WithBaggage() {
Map<String, String> carrier = new LinkedHashMap<>();
xrayPropagator.inject(
subject.inject(
withSpanContext(
SpanContext.create(
TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()),
Context.current())
.with(
Baggage.builder()
.put("cat", "meow")
.put("dog", "bark")
.put("Root", "ignored")
.put("Parent", "ignored")
.put("Sampled", "ignored")
.build()),
.with(Baggage.builder().put("cat", "ignored").put("dog", "ignored").build()),
carrier,
setter);
SETTER);
// all non-lineage baggage is dropped from trace header
assertThat(carrier)
.containsEntry(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;"
+ "cat=meow;dog=bark");
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
}
@Test
void inject_WithBaggage_LimitTruncates() {
void inject_WithLineage() {
Map<String, String> carrier = new LinkedHashMap<>();
// Limit is 256 characters for all baggage. We add a 254-character key/value pair and a
// 3 character key value pair.
String key1 = Stream.generate(() -> "a").limit(252).collect(Collectors.joining());
String value1 = "a"; // 252 + 1 (=) + 1 = 254
String key2 = "b";
String value2 = "b"; // 1 + 1 (=) + 1 = 3
Baggage baggage = Baggage.builder().put(key1, value1).put(key2, value2).build();
xrayPropagator.inject(
subject.inject(
withSpanContext(
SpanContext.create(
TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()),
Context.current())
.with(baggage),
.with(Baggage.builder().put("Lineage", "32767:e65a2c4d:255").build()),
carrier,
setter);
SETTER);
assertThat(carrier)
.containsEntry(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;"
+ key1
+ '='
+ value1);
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;Lineage=32767:e65a2c4d:255");
}
@Test
void inject_WithTraceState() {
Map<String, String> carrier = new LinkedHashMap<>();
xrayPropagator.inject(
subject.inject(
withSpanContext(
SpanContext.create(
TRACE_ID,
@ -147,7 +140,7 @@ class AwsXrayPropagatorTest {
TraceState.builder().put("foo", "bar").build()),
Context.current()),
carrier,
setter);
SETTER);
// TODO: assert trace state when the propagator supports it, for general key/value pairs we are
// mapping with baggage.
@ -160,7 +153,7 @@ class AwsXrayPropagatorTest {
@Test
void inject_nullContext() {
Map<String, String> carrier = new LinkedHashMap<>();
xrayPropagator.inject(null, carrier, setter);
subject.inject(null, carrier, SETTER);
assertThat(carrier).isEmpty();
}
@ -171,16 +164,14 @@ class AwsXrayPropagatorTest {
withSpanContext(
SpanContext.create(TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()),
Context.current());
xrayPropagator.inject(context, carrier, null);
subject.inject(context, carrier, null);
assertThat(carrier).isEmpty();
}
@Test
void extract_Nothing() {
// Context remains untouched.
assertThat(
xrayPropagator.extract(
Context.current(), Collections.<String, String>emptyMap(), getter))
assertThat(subject.extract(Context.current(), Collections.<String, String>emptyMap(), GETTER))
.isSameAs(Context.current());
}
@ -191,7 +182,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
TRACE_ID, SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault()));
@ -204,7 +195,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()));
@ -217,56 +208,90 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Parent=53995c3f42cd8ad8;Sampled=1;Root=1-8a3c60f7-d188f8fa79d48a391a778fa6");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
TRACE_ID, SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault()));
}
@Test
void extract_AdditionalFields() {
void extract_WithLineage() {
Map<String, String> carrier = new LinkedHashMap<>();
carrier.put(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=32767:e65a2c4d:255");
Context context = xrayPropagator.extract(Context.current(), carrier, getter);
Context context = subject.extract(Context.current(), carrier, GETTER);
assertThat(getSpanContext(context))
.isEqualTo(
SpanContext.createFromRemoteParent(
TRACE_ID, SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault()));
assertThat(Baggage.fromContext(context).getEntryValue("Foo")).isEqualTo("Bar");
assertThat(Baggage.fromContext(context).getEntryValue("Lineage"))
.isEqualTo("32767:e65a2c4d:255");
}
@Test
void extract_Baggage_LimitTruncates() {
// Limit is 256 characters for all baggage. We add a 254-character key/value pair and a
// 3 character key value pair.
String key1 = Stream.generate(() -> "a").limit(252).collect(Collectors.joining());
String value1 = "a"; // 252 + 1 (=) + 1 = 254
String key2 = "b";
String value2 = "b"; // 1 + 1 (=) + 1 = 3
void extract_AddedLineagePreservesExistingBaggage() {
Baggage expectedBaggage =
Baggage.builder()
.put("cat", "meow")
.put("dog", "bark")
.put("Lineage", "32767:e65a2c4d:255")
.build();
Map<String, String> carrier = new LinkedHashMap<>();
carrier.put(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;"
+ key1
+ '='
+ value1
+ ';'
+ key2
+ '='
+ value2);
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=32767:e65a2c4d:255");
Context context = xrayPropagator.extract(Context.current(), carrier, getter);
Context context =
subject.extract(
Context.current().with(Baggage.builder().put("cat", "meow").put("dog", "bark").build()),
carrier,
GETTER);
assertThat(getSpanContext(context))
.isEqualTo(
SpanContext.createFromRemoteParent(
TRACE_ID, SPAN_ID, TraceFlags.getSampled(), TraceState.getDefault()));
assertThat(Baggage.fromContext(context).getEntryValue(key1)).isEqualTo(value1);
assertThat(Baggage.fromContext(context).getEntryValue(key2)).isNull();
assertThat(Baggage.fromContext(context).asMap()).isEqualTo(expectedBaggage.asMap());
}
@Test
void extract_inject_ValidTraceHeader() {
Map<String, String> carrier1 = new LinkedHashMap<>();
carrier1.put(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=32767:e65a2c4d:255");
Context context = subject.extract(Context.current(), carrier1, GETTER);
// inject extracted trace context into new trace header
Map<String, String> carrier2 = new LinkedHashMap<>();
subject.inject(context, carrier2, SETTER);
assertThat(carrier2)
.containsEntry(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=32767:e65a2c4d:255");
}
@Test
void extract_inject_InvalidLineage() {
Map<String, String> carrier1 = new LinkedHashMap<>();
carrier1.put(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=1:badc0de:13");
Context context = subject.extract(Context.current(), carrier1, GETTER);
// inject extracted trace context into new trace header
Map<String, String> carrier2 = new LinkedHashMap<>();
subject.inject(context, carrier2, SETTER);
assertThat(carrier2)
.containsEntry(
TRACE_HEADER_KEY,
"Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1");
}
@Test
@ -288,7 +313,7 @@ class AwsXrayPropagatorTest {
}
@Test
void extract_InvalidTraceId_Size() {
void extract_InvalidTraceId_Size_TooBig() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
@ -297,6 +322,16 @@ class AwsXrayPropagatorTest {
verifyInvalidBehavior(invalidHeaders);
}
@Test
void extract_InvalidTraceId_Size_TooShort() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
invalidHeaders.put(
TRACE_HEADER_KEY,
"Root=1-64fbd5a9-2202432c9dfed25ae1e6996;Parent=53995c3f42cd8ad8;Sampled=0");
verifyInvalidBehavior(invalidHeaders);
}
@Test
void extract_InvalidSpanId() {
Map<String, String> invalidHeaders = new LinkedHashMap<>();
@ -357,15 +392,43 @@ class AwsXrayPropagatorTest {
private void verifyInvalidBehavior(Map<String, String> invalidHeaders) {
Context input = Context.current();
Context result = xrayPropagator.extract(input, invalidHeaders, getter);
Context result = subject.extract(input, invalidHeaders, GETTER);
assertThat(result).isSameAs(input);
assertThat(getSpanContext(result)).isSameAs(SpanContext.getInvalid());
}
@ParameterizedTest
@MethodSource("providesBadLineages")
void extract_invalidLineage(String lineage) {
Map<String, String> carrier = new LinkedHashMap<>();
carrier.put(
TRACE_HEADER_KEY,
String.format(
"Root=2-1a2a3a4a-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Lineage=%s",
lineage));
Context context = subject.extract(Context.current(), carrier, GETTER);
assertThat(Baggage.fromContext(context).getEntryValue("Lineage")).isNull();
}
static Stream<Arguments> providesBadLineages() {
return Stream.of(
Arguments.of("1::"),
Arguments.of("1"),
Arguments.of(""),
Arguments.of(":"),
Arguments.of("::"),
Arguments.of("1:badc0de:13"),
Arguments.of(":fbadc0de:13"),
Arguments.of("1:fbadc0de:"),
Arguments.of("1::1"),
Arguments.of("65535:fbadc0de:255"),
Arguments.of("-213:e65a2c4d:255"),
Arguments.of("213:e65a2c4d:-22"));
}
@Test
void extract_nullContext() {
assertThat(xrayPropagator.extract(null, Collections.emptyMap(), getter))
.isSameAs(Context.root());
assertThat(subject.extract(null, Collections.emptyMap(), GETTER)).isSameAs(Context.root());
}
@Test
@ -374,7 +437,7 @@ class AwsXrayPropagatorTest {
withSpanContext(
SpanContext.create(TRACE_ID, SPAN_ID, TraceFlags.getDefault(), TraceState.getDefault()),
Context.current());
assertThat(xrayPropagator.extract(context, Collections.emptyMap(), null)).isSameAs(context);
assertThat(subject.extract(context, Collections.emptyMap(), null)).isSameAs(context);
}
@Test
@ -384,7 +447,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-0-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000000d188f8fa79d48a391a778fa6",
@ -400,7 +463,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-1a-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"0000001ad188f8fa79d48a391a778fa6",
@ -416,7 +479,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-00000000-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isEqualTo(
SpanContext.createFromRemoteParent(
"00000000d188f8fa79d48a391a778fa6",
@ -432,7 +495,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=1-8a3c60f711-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), invalidHeaders, GETTER)))
.isSameAs(SpanContext.getInvalid());
}
@ -442,7 +505,7 @@ class AwsXrayPropagatorTest {
invalidHeaders.put(
TRACE_HEADER_KEY, "Root=1--d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), invalidHeaders, GETTER)))
.isSameAs(SpanContext.getInvalid());
}
@ -452,7 +515,7 @@ class AwsXrayPropagatorTest {
invalidHeaders.put(
TRACE_HEADER_KEY, "Root=1-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), invalidHeaders, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), invalidHeaders, GETTER)))
.isSameAs(SpanContext.getInvalid());
}
@ -463,7 +526,7 @@ class AwsXrayPropagatorTest {
TRACE_HEADER_KEY,
"Root=2-1a2a3a4a-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1;Foo=Bar");
assertThat(getSpanContext(xrayPropagator.extract(Context.current(), carrier, getter)))
assertThat(getSpanContext(subject.extract(Context.current(), carrier, GETTER)))
.isSameAs(SpanContext.getInvalid());
}
@ -471,7 +534,7 @@ class AwsXrayPropagatorTest {
return context.with(Span.wrap(spanContext));
}
private static SpanContext getSpanContext(Context context) {
SpanContext getSpanContext(Context context) {
return Span.fromContext(context).getSpanContext();
}
}

View File

@ -0,0 +1,39 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray.propagator.internal;
import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayLambdaPropagator;
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.Test;
class AwsComponentProviderTest {
@Test
void endToEnd() {
String yaml =
"file_format: 0.4\n"
+ "propagator:\n"
+ " composite:\n"
+ " - xray:\n"
+ " - xray-lambda:\n";
OpenTelemetrySdk openTelemetrySdk =
DeclarativeConfiguration.parseAndCreate(
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)));
TextMapPropagator expectedPropagator =
TextMapPropagator.composite(
AwsXrayPropagator.getInstance(), AwsXrayLambdaPropagator.getInstance());
assertThat(openTelemetrySdk.getPropagators().getTextMapPropagator().toString())
.isEqualTo(expectedPropagator.toString());
}
}

View File

@ -4,6 +4,7 @@ This module contains a custom `IdGenerator` and `Sampler` for use with AWS X-Ray
## Component owners
- [William Armiros](https://github.com/willarmiros), AWS
- [Lei Wang](https://github.com/wangzlei), AWS
- [Prashant Srivastava](https://github.com/srprash), AWS
Learn more about component owners in [component_owners.yml](../.github/component_owners.yml).

View File

@ -13,9 +13,11 @@ dependencies {
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
implementation("com.squareup.okhttp3:okhttp")
implementation("io.opentelemetry:opentelemetry-semconv")
implementation("io.opentelemetry.semconv:opentelemetry-semconv")
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
annotationProcessor("com.google.auto.service:auto-service")
testImplementation("com.google.auto.service:auto-service")
compileOnly("com.google.auto.service:auto-service-annotations")
annotationProcessor("com.google.auto.value:auto-value")

View File

@ -5,11 +5,11 @@ extensions:
health_check:
exporters:
logging:
debug:
service:
extensions: [health_check]
pipelines:
traces:
receivers: [awsxray]
exporters: [logging]
exporters: [debug]

View File

@ -0,0 +1,84 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.TraceState;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.trace.data.LinkData;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import io.opentelemetry.sdk.trace.samplers.SamplingDecision;
import io.opentelemetry.sdk.trace.samplers.SamplingResult;
import java.util.List;
import javax.annotation.concurrent.Immutable;
/**
* This sampler will return the sampling result of the provided {@link #rootSampler}, unless the
* sampling result contains the sampling decision {@link SamplingDecision#DROP}, in which case, a
* new sampling result will be returned that is functionally equivalent to the original, except that
* it contains the sampling decision {@link SamplingDecision#RECORD_ONLY}. This ensures that all
* spans are recorded, with no change to sampling.
*
* <p>The intended use case of this sampler is to provide a means of sending all spans to a
* processor without having an impact on the sampling rate. This may be desirable if a user wishes
* to count or otherwise measure all spans produced in a service, without incurring the cost of 100%
* sampling.
*/
@Immutable
public final class AlwaysRecordSampler implements Sampler {
private final Sampler rootSampler;
public static AlwaysRecordSampler create(Sampler rootSampler) {
return new AlwaysRecordSampler(rootSampler);
}
private AlwaysRecordSampler(Sampler rootSampler) {
this.rootSampler = rootSampler;
}
@Override
public SamplingResult shouldSample(
Context parentContext,
String traceId,
String name,
SpanKind spanKind,
Attributes attributes,
List<LinkData> parentLinks) {
SamplingResult result =
rootSampler.shouldSample(parentContext, traceId, name, spanKind, attributes, parentLinks);
if (result.getDecision() == SamplingDecision.DROP) {
result = wrapResultWithRecordOnlyResult(result);
}
return result;
}
@Override
public String getDescription() {
return "AlwaysRecordSampler{" + rootSampler.getDescription() + "}";
}
private static SamplingResult wrapResultWithRecordOnlyResult(SamplingResult result) {
return new SamplingResult() {
@Override
public SamplingDecision getDecision() {
return SamplingDecision.RECORD_ONLY;
}
@Override
public Attributes getAttributes() {
return result.getAttributes();
}
@Override
public TraceState getUpdatedTraceState(TraceState parentTraceState) {
return result.getUpdatedTraceState(parentTraceState);
}
};
}
}

View File

@ -0,0 +1,93 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanContext;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.trace.ReadWriteSpan;
import io.opentelemetry.sdk.trace.ReadableSpan;
import io.opentelemetry.sdk.trace.SpanProcessor;
import java.util.List;
import javax.annotation.concurrent.Immutable;
/**
* AttributePropagatingSpanProcessor handles the propagation of attributes from parent spans to
* child spans, specified in {@link #attributesKeysToPropagate}. AttributePropagatingSpanProcessor
* also propagates the parent span name to child spans, as a new attribute specified by {@link
* #spanNamePropagationKey}. Span name propagation only starts from local root server/consumer
* spans, but from there will be propagated to any descendant spans.
*/
@Immutable
public final class AttributePropagatingSpanProcessor implements SpanProcessor {
private final AttributeKey<String> spanNamePropagationKey;
private final List<AttributeKey<String>> attributesKeysToPropagate;
public static AttributePropagatingSpanProcessor create(
AttributeKey<String> spanNamePropagationKey,
List<AttributeKey<String>> attributesKeysToPropagate) {
return new AttributePropagatingSpanProcessor(spanNamePropagationKey, attributesKeysToPropagate);
}
private AttributePropagatingSpanProcessor(
AttributeKey<String> spanNamePropagationKey,
List<AttributeKey<String>> attributesKeysToPropagate) {
this.spanNamePropagationKey = spanNamePropagationKey;
this.attributesKeysToPropagate = attributesKeysToPropagate;
}
@Override
public void onStart(Context parentContext, ReadWriteSpan span) {
Span parentSpan = Span.fromContextOrNull(parentContext);
if (!(parentSpan instanceof ReadableSpan)) {
return;
}
ReadableSpan parentReadableSpan = (ReadableSpan) parentSpan;
String spanNameToPropagate;
if (isLocalRoot(parentReadableSpan.getParentSpanContext())
&& isServerOrConsumer(parentReadableSpan)) {
spanNameToPropagate = parentReadableSpan.getName();
} else {
spanNameToPropagate = parentReadableSpan.getAttribute(spanNamePropagationKey);
}
if (spanNameToPropagate != null) {
span.setAttribute(spanNamePropagationKey, spanNameToPropagate);
}
for (AttributeKey<String> keyToPropagate : attributesKeysToPropagate) {
String valueToPropagate = parentReadableSpan.getAttribute(keyToPropagate);
if (valueToPropagate != null) {
span.setAttribute(keyToPropagate, valueToPropagate);
}
}
}
private static boolean isLocalRoot(SpanContext parentSpanContext) {
return !parentSpanContext.isValid() || parentSpanContext.isRemote();
}
private static boolean isServerOrConsumer(ReadableSpan span) {
return span.getKind() == SpanKind.SERVER || span.getKind() == SpanKind.CONSUMER;
}
@Override
public boolean isStartRequired() {
return true;
}
@Override
public void onEnd(ReadableSpan span) {}
@Override
public boolean isEndRequired() {
return false;
}
}

View File

@ -0,0 +1,54 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import static java.util.Objects.requireNonNull;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import io.opentelemetry.api.common.AttributeKey;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* AttributePropagatingSpanProcessorBuilder is used to construct a {@link
* AttributePropagatingSpanProcessor}. If {@link #setSpanNamePropagationKey} or {@link
* #setAttributesKeysToPropagate} are not invoked, the builder defaults to using specific {@link
* AwsAttributeKeys} as propagation targets.
*/
public class AttributePropagatingSpanProcessorBuilder {
private AttributeKey<String> spanNamePropagationKey = AwsAttributeKeys.AWS_LOCAL_OPERATION;
private List<AttributeKey<String>> attributesKeysToPropagate =
Arrays.asList(AwsAttributeKeys.AWS_REMOTE_SERVICE, AwsAttributeKeys.AWS_REMOTE_OPERATION);
public static AttributePropagatingSpanProcessorBuilder create() {
return new AttributePropagatingSpanProcessorBuilder();
}
private AttributePropagatingSpanProcessorBuilder() {}
@CanIgnoreReturnValue
public AttributePropagatingSpanProcessorBuilder setSpanNamePropagationKey(
AttributeKey<String> spanNamePropagationKey) {
requireNonNull(spanNamePropagationKey, "spanNamePropagationKey");
this.spanNamePropagationKey = spanNamePropagationKey;
return this;
}
@CanIgnoreReturnValue
public AttributePropagatingSpanProcessorBuilder setAttributesKeysToPropagate(
List<AttributeKey<String>> attributesKeysToPropagate) {
requireNonNull(attributesKeysToPropagate, "attributesKeysToPropagate");
this.attributesKeysToPropagate = Collections.unmodifiableList(attributesKeysToPropagate);
return this;
}
public AttributePropagatingSpanProcessor build() {
return AttributePropagatingSpanProcessor.create(
spanNamePropagationKey, attributesKeysToPropagate);
}
}

View File

@ -0,0 +1,39 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import io.opentelemetry.api.common.AttributeKey;
/** Utility class holding attribute keys with special meaning to AWS components */
final class AwsAttributeKeys {
private AwsAttributeKeys() {}
static final AttributeKey<String> AWS_SPAN_KIND = AttributeKey.stringKey("aws.span.kind");
static final AttributeKey<String> AWS_LOCAL_SERVICE = AttributeKey.stringKey("aws.local.service");
static final AttributeKey<String> AWS_LOCAL_OPERATION =
AttributeKey.stringKey("aws.local.operation");
static final AttributeKey<String> AWS_REMOTE_SERVICE =
AttributeKey.stringKey("aws.remote.service");
static final AttributeKey<String> AWS_REMOTE_OPERATION =
AttributeKey.stringKey("aws.remote.operation");
static final AttributeKey<String> AWS_REMOTE_TARGET = AttributeKey.stringKey("aws.remote.target");
// use the same AWS Resource attribute name defined by OTel java auto-instr for aws_sdk_v_1_1
// TODO: all AWS specific attributes should be defined in semconv package and reused cross all
// otel packages. Related sim -
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8710
static final AttributeKey<String> AWS_BUCKET_NAME = AttributeKey.stringKey("aws.bucket.name");
static final AttributeKey<String> AWS_QUEUE_NAME = AttributeKey.stringKey("aws.queue.name");
static final AttributeKey<String> AWS_STREAM_NAME = AttributeKey.stringKey("aws.stream.name");
static final AttributeKey<String> AWS_TABLE_NAME = AttributeKey.stringKey("aws.table.name");
}

View File

@ -0,0 +1,392 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_BUCKET_NAME;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_LOCAL_OPERATION;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_LOCAL_SERVICE;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_QUEUE_NAME;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_REMOTE_OPERATION;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_REMOTE_SERVICE;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_REMOTE_TARGET;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_SPAN_KIND;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_STREAM_NAME;
import static io.opentelemetry.contrib.awsxray.AwsAttributeKeys.AWS_TABLE_NAME;
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.semconv.ServiceAttributes;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Optional;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* AwsMetricAttributeGenerator generates very specific metric attributes based on low-cardinality
* span and resource attributes. If such attributes are not present, we fallback to default values.
*
* <p>The goal of these particular metric attributes is to get metrics for incoming and outgoing
* traffic for a service. Namely, {@link SpanKind#SERVER} and {@link SpanKind#CONSUMER} spans
* represent "incoming" traffic, {@link SpanKind#CLIENT} and {@link SpanKind#PRODUCER} spans
* represent "outgoing" traffic, and {@link SpanKind#INTERNAL} spans are ignored.
*/
final class AwsMetricAttributeGenerator implements MetricAttributeGenerator {
private static final Logger logger =
Logger.getLogger(AwsMetricAttributeGenerator.class.getName());
// Special SERVICE attribute value if GRAPHQL_OPERATION_TYPE attribute key is present.
private static final String GRAPHQL = "graphql";
// Default attribute values if no valid span attribute value is identified
private static final String UNKNOWN_SERVICE = "UnknownService";
private static final String UNKNOWN_OPERATION = "UnknownOperation";
private static final String UNKNOWN_REMOTE_SERVICE = "UnknownRemoteService";
private static final String UNKNOWN_REMOTE_OPERATION = "UnknownRemoteOperation";
// copied from DbIncubatingAttributes
private static final AttributeKey<String> DB_OPERATION = AttributeKey.stringKey("db.operation");
private static final AttributeKey<String> DB_SYSTEM = AttributeKey.stringKey("db.system");
// copied from FaasIncubatingAttributes
private static final AttributeKey<String> FAAS_INVOKED_NAME =
AttributeKey.stringKey("faas.invoked_name");
private static final AttributeKey<String> FAAS_TRIGGER = AttributeKey.stringKey("faas.trigger");
// copied from GraphqlIncubatingAttributes
private static final AttributeKey<String> GRAPHQL_OPERATION_TYPE =
AttributeKey.stringKey("graphql.operation.type");
// copied from HttpIncubatingAttributes
private static final AttributeKey<String> HTTP_METHOD = AttributeKey.stringKey("http.method");
private static final AttributeKey<String> HTTP_TARGET = AttributeKey.stringKey("http.target");
private static final AttributeKey<String> HTTP_URL = AttributeKey.stringKey("http.url");
// copied from MessagingIncubatingAttributes
private static final AttributeKey<String> MESSAGING_OPERATION =
AttributeKey.stringKey("messaging.operation");
private static final AttributeKey<String> MESSAGING_SYSTEM =
AttributeKey.stringKey("messaging.system");
// copied from NetIncubatingAttributes
private static final AttributeKey<String> NET_PEER_NAME = AttributeKey.stringKey("net.peer.name");
private static final AttributeKey<Long> NET_PEER_PORT = AttributeKey.longKey("net.peer.port");
private static final AttributeKey<String> NET_SOCK_PEER_ADDR =
AttributeKey.stringKey("net.sock.peer.addr");
private static final AttributeKey<Long> NET_SOCK_PEER_PORT =
AttributeKey.longKey("net.sock.peer.port");
// copied from PeerIncubatingAttributes
private static final AttributeKey<String> PEER_SERVICE = AttributeKey.stringKey("peer.service");
// copied from RpcIncubatingAttributes
private static final AttributeKey<String> RPC_METHOD = AttributeKey.stringKey("rpc.method");
private static final AttributeKey<String> RPC_SERVICE = AttributeKey.stringKey("rpc.service");
@Override
public Attributes generateMetricAttributesFromSpan(SpanData span, Resource resource) {
AttributesBuilder builder = Attributes.builder();
switch (span.getKind()) {
case CONSUMER:
case SERVER:
setService(resource, span, builder);
setIngressOperation(span, builder);
setSpanKind(span, builder);
break;
case PRODUCER:
case CLIENT:
setService(resource, span, builder);
setEgressOperation(span, builder);
setRemoteServiceAndOperation(span, builder);
setRemoteTarget(span, builder);
setSpanKind(span, builder);
break;
default:
// Add no attributes, signalling no metrics should be emitted.
}
return builder.build();
}
private static void setRemoteTarget(SpanData span, AttributesBuilder builder) {
Optional<String> remoteTarget = getRemoteTarget(span);
remoteTarget.ifPresent(s -> builder.put(AWS_REMOTE_TARGET, s));
}
/**
* RemoteTarget attribute {@link AwsAttributeKeys#AWS_REMOTE_TARGET} is used to store the resource
* name of the remote invokes, such as S3 bucket name, mysql table name, etc. TODO: currently only
* support AWS resource name, will be extended to support the general remote targets, such as
* ActiveMQ name, etc.
*/
private static Optional<String> getRemoteTarget(SpanData span) {
if (isKeyPresent(span, AWS_BUCKET_NAME)) {
return Optional.ofNullable(span.getAttributes().get(AWS_BUCKET_NAME));
} else if (isKeyPresent(span, AWS_QUEUE_NAME)) {
return Optional.ofNullable(span.getAttributes().get(AWS_QUEUE_NAME));
} else if (isKeyPresent(span, AWS_STREAM_NAME)) {
return Optional.ofNullable(span.getAttributes().get(AWS_STREAM_NAME));
} else if (isKeyPresent(span, AWS_TABLE_NAME)) {
return Optional.ofNullable(span.getAttributes().get(AWS_TABLE_NAME));
}
return Optional.empty();
}
/** Service is always derived from {@link ServiceAttributes#SERVICE_NAME} */
private static void setService(Resource resource, SpanData span, AttributesBuilder builder) {
String service = resource.getAttribute(SERVICE_NAME);
if (service == null) {
logUnknownAttribute(AWS_LOCAL_SERVICE, span);
service = UNKNOWN_SERVICE;
}
builder.put(AWS_LOCAL_SERVICE, service);
}
/**
* Ingress operation (i.e. operation for Server and Consumer spans) will be generated from
* "http.method + http.target/with the first API path parameter" if the default span name equals
* null, UnknownOperation or http.method value.
*/
private static void setIngressOperation(SpanData span, AttributesBuilder builder) {
String operation;
if (!isValidOperation(span)) {
operation = generateIngressOperation(span);
} else {
operation = span.getName();
}
if (operation.equals(UNKNOWN_OPERATION)) {
logUnknownAttribute(AWS_LOCAL_OPERATION, span);
}
builder.put(AWS_LOCAL_OPERATION, operation);
}
/**
* When Span name is null, UnknownOperation or HttpMethod value, it will be treated as invalid
* local operation value that needs to be further processed
*/
private static boolean isValidOperation(SpanData span) {
String operation = span.getName();
if (operation == null || operation.equals(UNKNOWN_OPERATION)) {
return false;
}
if (isKeyPresent(span, HTTP_METHOD)) {
String httpMethod = span.getAttributes().get(HTTP_METHOD);
return !operation.equals(httpMethod);
}
return true;
}
/**
* Egress operation (i.e. operation for Client and Producer spans) is always derived from a
* special span attribute, {@link AwsAttributeKeys#AWS_LOCAL_OPERATION}. This attribute is
* generated with a separate SpanProcessor, {@link AttributePropagatingSpanProcessor}
*/
private static void setEgressOperation(SpanData span, AttributesBuilder builder) {
String operation = span.getAttributes().get(AWS_LOCAL_OPERATION);
if (operation == null) {
logUnknownAttribute(AWS_LOCAL_OPERATION, span);
operation = UNKNOWN_OPERATION;
}
builder.put(AWS_LOCAL_OPERATION, operation);
}
/**
* Remote attributes (only for Client and Producer spans) are generated based on low-cardinality
* span attributes, in priority order.
*
* <p>The first priority is the AWS Remote attributes, which are generated from manually
* instrumented span attributes, and are clear indications of customer intent. If AWS Remote
* attributes are not present, the next highest priority span attribute is Peer Service, which is
* also a reliable indicator of customer intent. If this is set, it will override
* AWS_REMOTE_SERVICE identified from any other span attribute, other than AWS Remote attributes.
*
* <p>After this, we look for the following low-cardinality span attributes that can be used to
* determine the remote metric attributes:
*
* <ul>
* <li>RPC
* <li>DB
* <li>FAAS
* <li>Messaging
* <li>GraphQL - Special case, if {@link #GRAPHQL_OPERATION_TYPE} is present, we use it for
* RemoteOperation and set RemoteService to {@link #GRAPHQL}.
* </ul>
*
* <p>In each case, these span attributes were selected from the OpenTelemetry trace semantic
* convention specifications as they adhere to the three following criteria:
*
* <ul>
* <li>Attributes are meaningfully indicative of remote service/operation names.
* <li>Attributes are defined in the specification to be low cardinality, usually with a low-
* cardinality list of values.
* <li>Attributes are confirmed to have low-cardinality values, based on code analysis.
* </ul>
*
* if the selected attributes are still producing the UnknownRemoteService or
* UnknownRemoteOperation, `net.peer.name`, `net.peer.port`, `net.peer.sock.addr` and
* `net.peer.sock.port` will be used to derive the RemoteService. And `http.method` and `http.url`
* will be used to derive the RemoteOperation.
*/
private static void setRemoteServiceAndOperation(SpanData span, AttributesBuilder builder) {
String remoteService = UNKNOWN_REMOTE_SERVICE;
String remoteOperation = UNKNOWN_REMOTE_OPERATION;
if (isKeyPresent(span, AWS_REMOTE_SERVICE) || isKeyPresent(span, AWS_REMOTE_OPERATION)) {
remoteService = getRemoteService(span, AWS_REMOTE_SERVICE);
remoteOperation = getRemoteOperation(span, AWS_REMOTE_OPERATION);
} else if (isKeyPresent(span, RPC_SERVICE) || isKeyPresent(span, RPC_METHOD)) {
remoteService = getRemoteService(span, RPC_SERVICE);
remoteOperation = getRemoteOperation(span, RPC_METHOD);
} else if (isKeyPresent(span, DB_SYSTEM) || isKeyPresent(span, DB_OPERATION)) {
remoteService = getRemoteService(span, DB_SYSTEM);
remoteOperation = getRemoteOperation(span, DB_OPERATION);
} else if (isKeyPresent(span, FAAS_INVOKED_NAME) || isKeyPresent(span, FAAS_TRIGGER)) {
remoteService = getRemoteService(span, FAAS_INVOKED_NAME);
remoteOperation = getRemoteOperation(span, FAAS_TRIGGER);
} else if (isKeyPresent(span, MESSAGING_SYSTEM) || isKeyPresent(span, MESSAGING_OPERATION)) {
remoteService = getRemoteService(span, MESSAGING_SYSTEM);
remoteOperation = getRemoteOperation(span, MESSAGING_OPERATION);
} else if (isKeyPresent(span, GRAPHQL_OPERATION_TYPE)) {
remoteService = GRAPHQL;
remoteOperation = getRemoteOperation(span, GRAPHQL_OPERATION_TYPE);
}
// Peer service takes priority as RemoteService over everything but AWS Remote.
if (isKeyPresent(span, PEER_SERVICE) && !isKeyPresent(span, AWS_REMOTE_SERVICE)) {
remoteService = getRemoteService(span, PEER_SERVICE);
}
// try to derive RemoteService and RemoteOperation from the other related attributes
if (remoteService.equals(UNKNOWN_REMOTE_SERVICE)) {
remoteService = generateRemoteService(span);
}
if (remoteOperation.equals(UNKNOWN_REMOTE_OPERATION)) {
remoteOperation = generateRemoteOperation(span);
}
builder.put(AWS_REMOTE_SERVICE, remoteService);
builder.put(AWS_REMOTE_OPERATION, remoteOperation);
}
/**
* When span name is not meaningful(null, unknown or http_method value) as operation name for http
* use cases. Will try to extract the operation name from http target string
*/
private static String generateIngressOperation(SpanData span) {
String operation = UNKNOWN_OPERATION;
if (isKeyPresent(span, HTTP_TARGET)) {
String httpTarget = span.getAttributes().get(HTTP_TARGET);
// get the first part from API path string as operation value
// the more levels/parts we get from API path the higher chance for getting high cardinality
// data
if (httpTarget != null) {
operation = extractApiPathValue(httpTarget);
if (isKeyPresent(span, HTTP_METHOD)) {
String httpMethod = span.getAttributes().get(HTTP_METHOD);
if (httpMethod != null) {
operation = httpMethod + " " + operation;
}
}
}
}
return operation;
}
/**
* When the remote call operation is undetermined for http use cases, will try to extract the
* remote operation name from http url string
*/
private static String generateRemoteOperation(SpanData span) {
String remoteOperation = UNKNOWN_REMOTE_OPERATION;
if (isKeyPresent(span, HTTP_URL)) {
String httpUrl = span.getAttributes().get(HTTP_URL);
try {
URL url;
if (httpUrl != null) {
url = new URL(httpUrl);
remoteOperation = extractApiPathValue(url.getPath());
}
} catch (MalformedURLException e) {
logger.log(Level.FINEST, "invalid http.url attribute: ", httpUrl);
}
}
if (isKeyPresent(span, HTTP_METHOD)) {
String httpMethod = span.getAttributes().get(HTTP_METHOD);
remoteOperation = httpMethod + " " + remoteOperation;
}
if (remoteOperation.equals(UNKNOWN_REMOTE_OPERATION)) {
logUnknownAttribute(AWS_REMOTE_OPERATION, span);
}
return remoteOperation;
}
/**
* Extract the first part from API http target if it exists
*
* @param httpTarget http request target string value. Eg, /payment/1234
* @return the first part from the http target. Eg, /payment
*/
private static String extractApiPathValue(String httpTarget) {
if (httpTarget == null || httpTarget.isEmpty()) {
return "/";
}
String[] paths = httpTarget.split("/");
if (paths.length > 1) {
return "/" + paths[1];
}
return "/";
}
private static String generateRemoteService(SpanData span) {
String remoteService = UNKNOWN_REMOTE_SERVICE;
if (isKeyPresent(span, NET_PEER_NAME)) {
remoteService = getRemoteService(span, NET_PEER_NAME);
if (isKeyPresent(span, NET_PEER_PORT)) {
Long port = span.getAttributes().get(NET_PEER_PORT);
remoteService += ":" + port;
}
} else if (isKeyPresent(span, NET_SOCK_PEER_ADDR)) {
remoteService = getRemoteService(span, NET_SOCK_PEER_ADDR);
if (isKeyPresent(span, NET_SOCK_PEER_PORT)) {
Long port = span.getAttributes().get(NET_SOCK_PEER_PORT);
remoteService += ":" + port;
}
} else {
logUnknownAttribute(AWS_REMOTE_SERVICE, span);
}
return remoteService;
}
/** Span kind is needed for differentiating metrics in the EMF exporter */
private static void setSpanKind(SpanData span, AttributesBuilder builder) {
String spanKind = span.getKind().name();
builder.put(AWS_SPAN_KIND, spanKind);
}
private static boolean isKeyPresent(SpanData span, AttributeKey<?> key) {
return span.getAttributes().get(key) != null;
}
private static String getRemoteService(SpanData span, AttributeKey<String> remoteServiceKey) {
String remoteService = span.getAttributes().get(remoteServiceKey);
if (remoteService == null) {
remoteService = UNKNOWN_REMOTE_SERVICE;
}
return remoteService;
}
private static String getRemoteOperation(SpanData span, AttributeKey<String> remoteOperationKey) {
String remoteOperation = span.getAttributes().get(remoteOperationKey);
if (remoteOperation == null) {
remoteOperation = UNKNOWN_REMOTE_OPERATION;
}
return remoteOperation;
}
private static void logUnknownAttribute(AttributeKey<String> attributeKey, SpanData span) {
String[] params = {
attributeKey.getKey(), span.getKind().name(), span.getSpanContext().getSpanId()
};
logger.log(Level.FINEST, "No valid {0} value found for {1} span {2}", params);
}
}

View File

@ -0,0 +1,122 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.data.DelegatingSpanData;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map.Entry;
import javax.annotation.concurrent.Immutable;
/**
* This exporter will update a span with metric attributes before exporting. It depends on a {@link
* SpanExporter} being provided on instantiation, which the AwsSpanMetricsExporter will delegate
* export to. Also, a {@link MetricAttributeGenerator} must be provided, which will provide a means
* to determine attributes which should be applied to the span. Finally, a {@link Resource} must be
* provided, which is used to generate metric attributes.
*
* <p>This exporter should be coupled with the {@link AwsSpanMetricsProcessor} using the same {@link
* MetricAttributeGenerator}. This will result in metrics and spans being produced with common
* attributes.
*/
@Immutable
public class AwsMetricAttributesSpanExporter implements SpanExporter {
private final SpanExporter delegate;
private final MetricAttributeGenerator generator;
private final Resource resource;
/** Use {@link AwsMetricAttributesSpanExporterBuilder} to construct this exporter. */
static AwsMetricAttributesSpanExporter create(
SpanExporter delegate, MetricAttributeGenerator generator, Resource resource) {
return new AwsMetricAttributesSpanExporter(delegate, generator, resource);
}
private AwsMetricAttributesSpanExporter(
SpanExporter delegate, MetricAttributeGenerator generator, Resource resource) {
this.delegate = delegate;
this.generator = generator;
this.resource = resource;
}
@Override
public CompletableResultCode export(Collection<SpanData> spans) {
List<SpanData> modifiedSpans = addMetricAttributes(spans);
return delegate.export(modifiedSpans);
}
@Override
public CompletableResultCode flush() {
return delegate.flush();
}
@Override
public CompletableResultCode shutdown() {
return delegate.shutdown();
}
@Override
public void close() {
delegate.close();
}
private List<SpanData> addMetricAttributes(Collection<SpanData> spans) {
List<SpanData> modifiedSpans = new ArrayList<>();
for (SpanData span : spans) {
Attributes attributes = generator.generateMetricAttributesFromSpan(span, resource);
if (!attributes.isEmpty()) {
span = wrapSpanWithAttributes(span, attributes);
}
modifiedSpans.add(span);
}
return modifiedSpans;
}
/**
* {@link #export} works with a {@link SpanData}, which does not permit modification. However, we
* need to add derived metric attributes to the span. To work around this, we will wrap the
* SpanData with a {@link DelegatingSpanData} that simply passes through all API calls, except for
* those pertaining to Attributes, i.e. {@link SpanData#getAttributes()} and {@link
* SpanData#getTotalAttributeCount} APIs.
*
* <p>See https://github.com/open-telemetry/opentelemetry-specification/issues/1089 for more
* context on this approach.
*/
private static SpanData wrapSpanWithAttributes(SpanData span, Attributes attributes) {
Attributes originalAttributes = span.getAttributes();
Attributes replacementAttributes = originalAttributes.toBuilder().putAll(attributes).build();
int newAttributeKeyCount = 0;
for (Entry<AttributeKey<?>, Object> entry : attributes.asMap().entrySet()) {
if (originalAttributes.get(entry.getKey()) == null) {
newAttributeKeyCount++;
}
}
int originalTotalAttributeCount = span.getTotalAttributeCount();
int replacementTotalAttributeCount = originalTotalAttributeCount + newAttributeKeyCount;
return new DelegatingSpanData(span) {
@Override
public Attributes getAttributes() {
return replacementAttributes;
}
@Override
public int getTotalAttributeCount() {
return replacementTotalAttributeCount;
}
};
}
}

View File

@ -0,0 +1,51 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import static java.util.Objects.requireNonNull;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.export.SpanExporter;
public class AwsMetricAttributesSpanExporterBuilder {
// Defaults
private static final MetricAttributeGenerator DEFAULT_GENERATOR =
new AwsMetricAttributeGenerator();
// Required builder elements
private final SpanExporter delegate;
private final Resource resource;
// Optional builder elements
private MetricAttributeGenerator generator = DEFAULT_GENERATOR;
public static AwsMetricAttributesSpanExporterBuilder create(
SpanExporter delegate, Resource resource) {
return new AwsMetricAttributesSpanExporterBuilder(delegate, resource);
}
private AwsMetricAttributesSpanExporterBuilder(SpanExporter delegate, Resource resource) {
this.delegate = delegate;
this.resource = resource;
}
/**
* Sets the generator used to generate attributes used spancs exported by the exporter. If unset,
* defaults to {@link #DEFAULT_GENERATOR}. Must not be null.
*/
@CanIgnoreReturnValue
public AwsMetricAttributesSpanExporterBuilder setGenerator(MetricAttributeGenerator generator) {
requireNonNull(generator, "generator");
this.generator = generator;
return this;
}
public AwsMetricAttributesSpanExporter build() {
return AwsMetricAttributesSpanExporter.create(delegate, generator, resource);
}
}

View File

@ -0,0 +1,180 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.metrics.DoubleHistogram;
import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.ReadWriteSpan;
import io.opentelemetry.sdk.trace.ReadableSpan;
import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.data.EventData;
import io.opentelemetry.sdk.trace.data.ExceptionEventData;
import io.opentelemetry.sdk.trace.data.SpanData;
import java.lang.reflect.Method;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
/**
* This processor will generate metrics based on span data. It depends on a {@link
* MetricAttributeGenerator} being provided on instantiation, which will provide a means to
* determine attributes which should be used to create metrics. A {@link Resource} must also be
* provided, which is used to generate metrics. Finally, two {@link LongCounter}'s and a {@link
* DoubleHistogram} must be provided, which will be used to actually create desired metrics (see
* below)
*
* <p>AwsSpanMetricsProcessor produces metrics for errors (e.g. HTTP 4XX status codes), faults (e.g.
* HTTP 5XX status codes), and latency (in Milliseconds). Errors and faults are counted, while
* latency is measured with a histogram. Metrics are emitted with attributes derived from span
* attributes.
*
* <p>For highest fidelity metrics, this processor should be coupled with the {@link
* AlwaysRecordSampler}, which will result in 100% of spans being sent to the processor.
*/
@Immutable
public final class AwsSpanMetricsProcessor implements SpanProcessor {
private static final AttributeKey<Long> HTTP_STATUS_CODE =
AttributeKey.longKey("http.status_code");
private static final double NANOS_TO_MILLIS = 1_000_000.0;
// Constants for deriving error and fault metrics
private static final int ERROR_CODE_LOWER_BOUND = 400;
private static final int ERROR_CODE_UPPER_BOUND = 499;
private static final int FAULT_CODE_LOWER_BOUND = 500;
private static final int FAULT_CODE_UPPER_BOUND = 599;
// Metric instruments
private final LongCounter errorCounter;
private final LongCounter faultCounter;
private final DoubleHistogram latencyHistogram;
private final MetricAttributeGenerator generator;
private final Resource resource;
/** Use {@link AwsSpanMetricsProcessorBuilder} to construct this processor. */
static AwsSpanMetricsProcessor create(
LongCounter errorCounter,
LongCounter faultCounter,
DoubleHistogram latencyHistogram,
MetricAttributeGenerator generator,
Resource resource) {
return new AwsSpanMetricsProcessor(
errorCounter, faultCounter, latencyHistogram, generator, resource);
}
private AwsSpanMetricsProcessor(
LongCounter errorCounter,
LongCounter faultCounter,
DoubleHistogram latencyHistogram,
MetricAttributeGenerator generator,
Resource resource) {
this.errorCounter = errorCounter;
this.faultCounter = faultCounter;
this.latencyHistogram = latencyHistogram;
this.generator = generator;
this.resource = resource;
}
@Override
public void onStart(Context parentContext, ReadWriteSpan span) {}
@Override
public boolean isStartRequired() {
return false;
}
@Override
public void onEnd(ReadableSpan span) {
SpanData spanData = span.toSpanData();
Attributes attributes = generator.generateMetricAttributesFromSpan(spanData, resource);
// Only record metrics if non-empty attributes are returned.
if (!attributes.isEmpty()) {
recordErrorOrFault(spanData, attributes);
recordLatency(span, attributes);
}
}
@Override
public boolean isEndRequired() {
return true;
}
private void recordErrorOrFault(SpanData spanData, Attributes attributes) {
Long httpStatusCode = spanData.getAttributes().get(HTTP_STATUS_CODE);
if (httpStatusCode == null) {
httpStatusCode = getAwsStatusCode(spanData);
if (httpStatusCode == null || httpStatusCode < 100L || httpStatusCode > 599L) {
return;
}
}
if (httpStatusCode >= ERROR_CODE_LOWER_BOUND && httpStatusCode <= ERROR_CODE_UPPER_BOUND) {
errorCounter.add(1, attributes);
} else if (httpStatusCode >= FAULT_CODE_LOWER_BOUND
&& httpStatusCode <= FAULT_CODE_UPPER_BOUND) {
faultCounter.add(1, attributes);
}
}
/**
* Attempt to pull status code from spans produced by AWS SDK instrumentation (both v1 and v2).
* AWS SDK instrumentation does not populate http.status_code when non-200 status codes are
* returned, as the AWS SDK throws exceptions rather than returning responses with status codes.
* To work around this, we are attempting to get the exception out of the events, then calling
* getStatusCode (for AWS SDK V1) and statusCode (for AWS SDK V2) to get the status code fromt the
* exception. We rely on reflection here because we cannot cast the throwable to
* AmazonServiceExceptions (V1) or AwsServiceExceptions (V2) because the throwable comes from a
* separate class loader and attempts to cast will fail with ClassCastException.
*
* <p>TODO: Short term workaround. This can be completely removed once
* https://github.com/open-telemetry/opentelemetry-java-contrib/issues/919 is resolved.
*/
@Nullable
private static Long getAwsStatusCode(SpanData spanData) {
String scopeName = spanData.getInstrumentationScopeInfo().getName();
if (!scopeName.contains("aws-sdk")) {
return null;
}
for (EventData event : spanData.getEvents()) {
if (event instanceof ExceptionEventData) {
ExceptionEventData exceptionEvent = (ExceptionEventData) event;
Throwable throwable = exceptionEvent.getException();
try {
Method method = throwable.getClass().getMethod("getStatusCode", new Class<?>[] {});
Object code = method.invoke(throwable, new Object[] {});
return Long.valueOf((Integer) code);
} catch (Exception e) {
// Take no action
}
try {
Method method = throwable.getClass().getMethod("statusCode", new Class<?>[] {});
Object code = method.invoke(throwable, new Object[] {});
return Long.valueOf((Integer) code);
} catch (Exception e) {
// Take no action
}
}
}
return null;
}
private void recordLatency(ReadableSpan span, Attributes attributes) {
long nanos = span.getLatencyNanos();
double millis = nanos / NANOS_TO_MILLIS;
latencyHistogram.record(millis, attributes);
}
}

Some files were not shown because too many files have changed in this diff Show More