Avoid race conditions and multiple agent discovery feature states#9135
Avoid race conditions and multiple agent discovery feature states#9135
Conversation
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 8 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (994.491 ms) : 0, 994491
Total [baseline] (10.638 s) : 0, 10637758
Agent [candidate] (1.0 s) : 0, 1000018
Total [candidate] (10.645 s) : 0, 10645284
section appsec
Agent [baseline] (1.181 s) : 0, 1181351
Total [baseline] (10.736 s) : 0, 10735641
Agent [candidate] (1.181 s) : 0, 1181497
Total [candidate] (10.763 s) : 0, 10763327
section iast
Agent [baseline] (1.139 s) : 0, 1139116
Total [baseline] (10.828 s) : 0, 10827583
Agent [candidate] (1.129 s) : 0, 1129040
Total [candidate] (10.788 s) : 0, 10787651
section profiling
Agent [baseline] (1.243 s) : 0, 1243476
Total [baseline] (10.896 s) : 0, 10895741
Agent [candidate] (1.254 s) : 0, 1254173
Total [candidate] (11.019 s) : 0, 11018573
gantt
title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (686.58 ms) : 0, 686580
BytebuddyAgent [candidate] (690.854 ms) : 0, 690854
GlobalTracer [baseline] (241.93 ms) : 0, 241930
GlobalTracer [candidate] (243.021 ms) : 0, 243021
AppSec [baseline] (30.313 ms) : 0, 30313
AppSec [candidate] (30.351 ms) : 0, 30351
Debugger [baseline] (5.944 ms) : 0, 5944
Debugger [candidate] (6.028 ms) : 0, 6028
Remote Config [baseline] (685.513 µs) : 0, 686
Remote Config [candidate] (675.11 µs) : 0, 675
Telemetry [baseline] (8.201 ms) : 0, 8201
Telemetry [candidate] (8.272 ms) : 0, 8272
section appsec
BytebuddyAgent [baseline] (714.436 ms) : 0, 714436
BytebuddyAgent [candidate] (714.217 ms) : 0, 714217
GlobalTracer [baseline] (236.135 ms) : 0, 236135
GlobalTracer [candidate] (236.857 ms) : 0, 236857
AppSec [baseline] (171.757 ms) : 0, 171757
AppSec [candidate] (171.458 ms) : 0, 171458
Debugger [baseline] (5.725 ms) : 0, 5725
Debugger [candidate] (5.692 ms) : 0, 5692
Remote Config [baseline] (609.997 µs) : 0, 610
Remote Config [candidate] (599.28 µs) : 0, 599
Telemetry [baseline] (8.117 ms) : 0, 8117
Telemetry [candidate] (8.115 ms) : 0, 8115
IAST [baseline] (23.579 ms) : 0, 23579
IAST [candidate] (23.588 ms) : 0, 23588
section iast
BytebuddyAgent [baseline] (812.86 ms) : 0, 812860
BytebuddyAgent [candidate] (805.233 ms) : 0, 805233
GlobalTracer [baseline] (232.991 ms) : 0, 232991
GlobalTracer [candidate] (231.565 ms) : 0, 231565
AppSec [baseline] (28.524 ms) : 0, 28524
AppSec [candidate] (30.56 ms) : 0, 30560
Debugger [baseline] (5.768 ms) : 0, 5768
Debugger [candidate] (5.676 ms) : 0, 5676
Remote Config [baseline] (583.746 µs) : 0, 584
Remote Config [candidate] (575.697 µs) : 0, 576
Telemetry [baseline] (7.953 ms) : 0, 7953
Telemetry [candidate] (7.833 ms) : 0, 7833
IAST [baseline] (29.589 ms) : 0, 29589
IAST [candidate] (26.914 ms) : 0, 26914
section profiling
ProfilingAgent [baseline] (103.537 ms) : 0, 103537
ProfilingAgent [candidate] (106.617 ms) : 0, 106617
BytebuddyAgent [baseline] (676.143 ms) : 0, 676143
BytebuddyAgent [candidate] (682.253 ms) : 0, 682253
GlobalTracer [baseline] (361.955 ms) : 0, 361955
GlobalTracer [candidate] (363.788 ms) : 0, 363788
AppSec [baseline] (33.294 ms) : 0, 33294
AppSec [candidate] (34.615 ms) : 0, 34615
Debugger [baseline] (8.426 ms) : 0, 8426
Debugger [candidate] (7.673 ms) : 0, 7673
Remote Config [baseline] (662.731 µs) : 0, 663
Remote Config [candidate] (675.726 µs) : 0, 676
Telemetry [baseline] (10.961 ms) : 0, 10961
Telemetry [candidate] (9.641 ms) : 0, 9641
Profiling [baseline] (103.562 ms) : 0, 103562
Profiling [candidate] (106.641 ms) : 0, 106641
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (996.811 ms) : 0, 996811
Total [baseline] (8.597 s) : 0, 8597451
Agent [candidate] (994.097 ms) : 0, 994097
Total [candidate] (8.53 s) : 0, 8530272
section iast
Agent [baseline] (1.132 s) : 0, 1131799
Total [baseline] (9.297 s) : 0, 9297338
Agent [candidate] (1.13 s) : 0, 1130076
Total [candidate] (9.275 s) : 0, 9274818
gantt
title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (688.619 ms) : 0, 688619
BytebuddyAgent [candidate] (686.07 ms) : 0, 686070
GlobalTracer [baseline] (242.235 ms) : 0, 242235
GlobalTracer [candidate] (242.272 ms) : 0, 242272
AppSec [baseline] (30.342 ms) : 0, 30342
AppSec [candidate] (30.12 ms) : 0, 30120
Debugger [baseline] (5.974 ms) : 0, 5974
Debugger [candidate] (5.992 ms) : 0, 5992
Remote Config [baseline] (682.396 µs) : 0, 682
Remote Config [candidate] (684.461 µs) : 0, 684
Telemetry [baseline] (8.188 ms) : 0, 8188
Telemetry [candidate] (8.251 ms) : 0, 8251
section iast
BytebuddyAgent [baseline] (807.531 ms) : 0, 807531
BytebuddyAgent [candidate] (805.994 ms) : 0, 805994
GlobalTracer [baseline] (231.779 ms) : 0, 231779
GlobalTracer [candidate] (231.648 ms) : 0, 231648
AppSec [baseline] (30.699 ms) : 0, 30699
AppSec [candidate] (27.994 ms) : 0, 27994
Debugger [baseline] (5.685 ms) : 0, 5685
Debugger [candidate] (6.661 ms) : 0, 6661
Remote Config [baseline] (568.729 µs) : 0, 569
Remote Config [candidate] (584.125 µs) : 0, 584
Telemetry [baseline] (7.899 ms) : 0, 7899
Telemetry [candidate] (7.914 ms) : 0, 7914
IAST [baseline] (26.923 ms) : 0, 26923
IAST [candidate] (28.627 ms) : 0, 28627
LoadParameters
See matching parameters
SummaryFound 3 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section baseline
no_agent (36.044 ms) : 35744, 36343
. : milestone, 36044,
appsec (50.339 ms) : 49881, 50796
. : milestone, 50339,
code_origins (44.832 ms) : 44460, 45204
. : milestone, 44832,
iast (42.755 ms) : 42397, 43113
. : milestone, 42755,
profiling (46.558 ms) : 46088, 47027
. : milestone, 46558,
tracing (43.663 ms) : 43306, 44020
. : milestone, 43663,
section candidate
no_agent (36.514 ms) : 36218, 36811
. : milestone, 36514,
appsec (48.254 ms) : 47838, 48670
. : milestone, 48254,
code_origins (44.508 ms) : 44136, 44880
. : milestone, 44508,
iast (42.819 ms) : 42464, 43175
. : milestone, 42819,
profiling (46.494 ms) : 46067, 46922
. : milestone, 46494,
tracing (44.014 ms) : 43652, 44375
. : milestone, 44014,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section baseline
no_agent (4.316 ms) : 4267, 4365
. : milestone, 4316,
iast (9.518 ms) : 9351, 9685
. : milestone, 9518,
iast_FULL (13.79 ms) : 13513, 14067
. : milestone, 13790,
iast_GLOBAL (9.987 ms) : 9810, 10165
. : milestone, 9987,
profiling (8.865 ms) : 8718, 9012
. : milestone, 8865,
tracing (7.9 ms) : 7787, 8014
. : milestone, 7900,
section candidate
no_agent (4.371 ms) : 4323, 4420
. : milestone, 4371,
iast (9.137 ms) : 8986, 9287
. : milestone, 9137,
iast_FULL (13.731 ms) : 13461, 14001
. : milestone, 13731,
iast_GLOBAL (10.362 ms) : 10181, 10544
. : milestone, 10362,
profiling (8.699 ms) : 8556, 8843
. : milestone, 8699,
tracing (7.436 ms) : 7324, 7547
. : milestone, 7436,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section baseline
no_agent (1.478 ms) : 1466, 1489
. : milestone, 1478,
appsec (2.42 ms) : 2369, 2470
. : milestone, 2420,
iast (2.198 ms) : 2134, 2261
. : milestone, 2198,
iast_GLOBAL (2.25 ms) : 2187, 2313
. : milestone, 2250,
profiling (2.068 ms) : 2016, 2120
. : milestone, 2068,
tracing (2.024 ms) : 1975, 2073
. : milestone, 2024,
section candidate
no_agent (1.478 ms) : 1466, 1489
. : milestone, 1478,
appsec (2.426 ms) : 2375, 2476
. : milestone, 2426,
iast (2.197 ms) : 2134, 2260
. : milestone, 2197,
iast_GLOBAL (2.251 ms) : 2188, 2314
. : milestone, 2251,
profiling (2.051 ms) : 2000, 2103
. : milestone, 2051,
tracing (2.023 ms) : 1975, 2072
. : milestone, 2023,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6
dateFormat X
axisFormat %s
section baseline
no_agent (14.928 s) : 14928000, 14928000
. : milestone, 14928000,
appsec (15.079 s) : 15079000, 15079000
. : milestone, 15079000,
iast (18.546 s) : 18546000, 18546000
. : milestone, 18546000,
iast_GLOBAL (18.246 s) : 18246000, 18246000
. : milestone, 18246000,
profiling (15.116 s) : 15116000, 15116000
. : milestone, 15116000,
tracing (14.677 s) : 14677000, 14677000
. : milestone, 14677000,
section candidate
no_agent (14.889 s) : 14889000, 14889000
. : milestone, 14889000,
appsec (15.026 s) : 15026000, 15026000
. : milestone, 15026000,
iast (18.385 s) : 18385000, 18385000
. : milestone, 18385000,
iast_GLOBAL (18.232 s) : 18232000, 18232000
. : milestone, 18232000,
profiling (15.317 s) : 15317000, 15317000
. : milestone, 15317000,
tracing (14.878 s) : 14878000, 14878000
. : milestone, 14878000,
|
a60b5ec to
7578162
Compare
7578162 to
bfc6609
Compare
PerfectSlayer
left a comment
There was a problem hiding this comment.
I would have gone with the holder pattern as doubled-check locking is definitely to easy to get wrong. But it should be better than the current implementation 👍
mcculls
left a comment
There was a problem hiding this comment.
+1
re. holder pattern - since this construction takes arguments it's hard to apply the holder pattern, so in this case double-check locking makes sense
) (cherry picked from commit 956f570)
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [redis.clients:jedis](https://github.com/redis/jedis) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.0.0` -> `6.1.0` | | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.59.2` -> `2.60.0` | | [com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.68.2` -> `2.69.0` | | [com.squareup.wire](https://github.com/square/wire) | plugin | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-schema](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-runtime](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-reflector](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-moshi-adapter](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-grpc-client](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-bom](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.51.2` -> `1.52.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | --- ### Release Notes <details> <summary>redis/jedis (redis.clients:jedis)</summary> ### [`v6.1.0`](https://github.com/redis/jedis/releases/tag/v6.1.0): 6.1.0 ### Changes #### 🚀 New Features - Add support for SVS-VAMANA vector indexing ([#​4222](redis/jedis#4222)) - Clarify why new stream entries aren't deleted with XDELEX ([#​4218](redis/jedis#4218)) - Add support for new stream commands ([#​4211](redis/jedis#4211)) - Add Support for New BITOP Operations in Redis 8.2 ([#​4188](redis/jedis#4188)) ([#​4190](redis/jedis#4190)) - Add binary stream support for XREAD and XREADGROUP ([#​3566](redis/jedis#3566)) ([#​4152](redis/jedis#4152)) - Run pipeline in current thread if all the keys on same node ([#​4149](redis/jedis#4149)) #### 🐛 Bug Fixes - Restore binary compatibility of SetParams ([#​4225](redis/jedis#4225)) - Fix memory leak in JedisClusterInfoCache - replica nodes not cleared ([#​4205](redis/jedis#4205)) - Fix:JedisCluster throws NullPointerException when maxAttempts is set to 0 ([#​4186](redis/jedis#4186)) #### 🧰 Maintenance - DOC-5471 time series doc examples ([#​4210](redis/jedis#4210)) - Bump jackson.version from 2.19.1 to 2.19.2 ([#​4208](redis/jedis#4208)) - Fix flaky test ClientCommandsTest.killSkipmeYesNo ([#​4206](redis/jedis#4206)) - Bump org.junit:junit-bom from 5.13.2 to 5.13.3 ([#​4198](redis/jedis#4198)) - Migrate publishing to Maven Central Portal ([#​4199](redis/jedis#4199)) - Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 ([#​4197](redis/jedis#4197)) - Bump org.junit:junit-bom from 5.13.1 to 5.13.2 ([#​4192](redis/jedis#4192)) - DOC-5227 added probabilistic data type examples ([#​4184](redis/jedis#4184)) - Bump jackson.version from 2.19.0 to 2.19.1 ([#​4180](redis/jedis#4180)) - Update test infra to use latest Redis ([#​4179](redis/jedis#4179)) - Bump org.junit:junit-bom from 5.13.0-RC1 to 5.13.1 ([#​4174](redis/jedis#4174)) - Bump org.json:json from [`2025010`](redis/jedis@20250107) to [`2025051`](redis/jedis@20250517) ([#​4171](redis/jedis#4171)) - Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.4.4 to 5.5 ([#​4170](redis/jedis#4170)) - Fix flaky tests in DocumentTest ([#​3617](redis/jedis#3617)) - Add retryable command execution example ([#​3780](redis/jedis#3780)) - Bump jackson.version from 2.18.3 to 2.19.0 ([#​4160](redis/jedis#4160)) - Bump com.google.code.gson:gson from 2.12.1 to 2.13.1 ([#​4161](redis/jedis#4161)) #### Contributors We'd like to thank all the contributors who worked on this release! [@​219sansim](https://github.com/219sansim), [@​YoHanKi](https://github.com/YoHanKi), [@​andy-stark-redis](https://github.com/andy-stark-redis), [@​ggivo](https://github.com/ggivo), [@​jujn](https://github.com/jujn), [@​thachlp](https://github.com/thachlp), [@​uglide](https://github.com/uglide) and [@​xrayw](https://github.com/xrayw) </details> <details> <summary>googleapis/sdk-platform-java (com.google.api.grpc:proto-google-common-protos)</summary> ### [`v2.60.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2600-2025-06-23) ##### Features - handle auto pagination for BigQuery v2 ([#​3829](googleapis/sdk-platform-java#3829)) ([025c84c](googleapis/sdk-platform-java@025c84c)) ##### Dependencies - update google auth library dependencies to v1.37.1 ([#​3846](googleapis/sdk-platform-java#3846)) ([ea1d9e5](googleapis/sdk-platform-java@ea1d9e5)) - update google http client dependencies to v1.47.1 ([#​3848](googleapis/sdk-platform-java#3848)) ([a9a39d7](googleapis/sdk-platform-java@a9a39d7)) </details> <details> <summary>square/wire (com.squareup.wire)</summary> ### [`v5.3.6`](https://github.com/square/wire/blob/HEAD/CHANGELOG.md#Version-536) [Compare Source](square/wire@5.3.5...5.3.6) *2025-08-05* ##### CLI - New CLI option `--ignore_unused_roots_and_prunes` ([#​3354](square/wire#3354)) ##### JVM - Fix: Handle negative hexadecimal in default values ([#​3355](square/wire#3355)) - Optimization: Avoid copying of repeated and map types when mutableTypes are being used ([#​3352](square/wire#3352) by \[Rahul Ravikumar]\[tikurahul]) ##### Swift - Fix: Properly disambiguate OneOf enum if it has the same name as enclosing type ([#​3350](square/wire#3350) by \[Dimitris Koutsogiorgas]\[dnkoutso]) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.52.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.52.0): 1.52.0 ### Components #### Application Security Management (WAF) - ✨ Only report ASM\_DD, ASM\_DATA and ASM capabilities when AppSec is enabled ([#​9260](DataDog/dd-trace-java#9260) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix NPE in AppSecConfigServiceImpl ([#​9165](DataDog/dd-trace-java#9165) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#​9160](DataDog/dd-trace-java#9160) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Build & Tooling - ✨📖 Automatically register crashtracking via native extensions ([#​8851](DataDog/dd-trace-java#8851) - [@​MattAlp](https://github.com/MattAlp)) #### Configuration at Runtime - ✨ Create activation origin config for telemetry ([#​9064](DataDog/dd-trace-java#9064) - [@​sezen-datadog](https://github.com/sezen-datadog)) #### Continuous Integration Visibility - ✨ Update GitLab provided tags ([#​9275](DataDog/dd-trace-java#9275) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Fix base branch SHA usage in GitHub Actions ([#​9257](DataDog/dd-trace-java#9257) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add `ci.job.id` tag ([#​9256](DataDog/dd-trace-java#9256) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add new org to Weaver instrumentation ([#​9235](DataDog/dd-trace-java#9235) - [@​daniel-mohedano](https://github.com/daniel-mohedano) - thanks for the contribution!) - ✨ Improve Git commit info building ([#​9210](DataDog/dd-trace-java#9210) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update Attempt to Fix to v5 ([#​9145](DataDog/dd-trace-java#9145) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - ✨📖 Automatically register crashtracking via native extensions ([#​8851](DataDog/dd-trace-java#8851) - [@​MattAlp](https://github.com/MattAlp)) #### Data Streams Monitoring - ✨ Reduce DSM CPU overheard ([#​9151](DataDog/dd-trace-java#9151) - [@​kr-igor](https://github.com/kr-igor)) - ✨⚡ DSM optimizations for high throughput scenarios ([#​9137](DataDog/dd-trace-java#9137) - [@​kr-igor](https://github.com/kr-igor)) #### Database Monitoring - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#​9224](DataDog/dd-trace-java#9224) - [@​lu-zhengda](https://github.com/lu-zhengda)) #### Dynamic Instrumentation - 🐛 Add URI in string primitives ([#​9285](DataDog/dd-trace-java#9285) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Increase SourceFile tracking max queue size ([#​9271](DataDog/dd-trace-java#9271) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add capping on SourceFile tracking queue ([#​9245](DataDog/dd-trace-java#9245) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add third-party filtering in SourceFile tracking ([#​9205](DataDog/dd-trace-java#9205) - [@​jpbempel](https://github.com/jpbempel)) #### ML Observability (LLMObs) - ✨ Add methods to capture embedding and retrieval spans ([#​9297](DataDog/dd-trace-java#9297) - [@​nayeem-kamal](https://github.com/nayeem-kamal)) #### Metrics - ✨ Change primary client stats configuration key ([#​9196](DataDog/dd-trace-java#9196) - [@​amarziali](https://github.com/amarziali)) - ✨ Calculate client stats also if the span kind is eligible ([#​9157](DataDog/dd-trace-java#9157) - [@​amarziali](https://github.com/amarziali)) - ✨ Backpropagate peer tags ([#​9144](DataDog/dd-trace-java#9144) - [@​bric3](https://github.com/bric3)) - 🐛 Make client stats reliable in case of downgrade ([#​9136](DataDog/dd-trace-java#9136) - [@​amarziali](https://github.com/amarziali)) #### Platform components - 🐛 Fix VM options parsing from /proc/fs ([#​9255](DataDog/dd-trace-java#9255) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) #### Profiling - ✨ Switch profile compression to zstd default ([#​9293](DataDog/dd-trace-java#9293) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.29.0 ([#​9262](DataDog/dd-trace-java#9262) - [@​zhengyu123](https://github.com/zhengyu123)) - Potential memory leak and race with the JVMTI wallclock sampler by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#234 - Downport async-profiler no-allocation changes by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#245 - Adopt openjdk safefetch by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#246 - Safe fetch 64-bit value and pointer by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#247 - Rebase on Async-Profiler 4.1 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#252 - Patch upstream stackWalker.cpp not to fail on unaligned access by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#218 - Remap thread id to avoid bitmap contention by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#229 - Improve performance using Unsafe to activate/deactivate thread filter by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#230 - Unify context propagation by [@​zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#231 - 🐛 Fix the profiler stackdepth setting propagation in recent (22+) Java versions ([#​9130](DataDog/dd-trace-java#9130) - [@​jbachorik](https://github.com/jbachorik)) #### Realtime User Monitoring - ✨ Wrap servlet original PrintWriter on rum injector ([#​9146](DataDog/dd-trace-java#9146) - [@​amarziali](https://github.com/amarziali)) #### Telemetry - ✨ Create activation origin config for telemetry ([#​9064](DataDog/dd-trace-java#9064) - [@​sezen-datadog](https://github.com/sezen-datadog)) #### Tracer core - ✨⚡ Reduce span construction overhead by switching to optimized TagMap ([#​8589](DataDog/dd-trace-java#8589) - [@​dougqh](https://github.com/dougqh)) - 🐛 Match Hands Off Config selectors on process\_arguments value ([#​9201](DataDog/dd-trace-java#9201) - [@​paullegranddc](https://github.com/paullegranddc)) - ✨ Move JSON generation to sender thread to improve startup time. ([#​9197](DataDog/dd-trace-java#9197) - [@​AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - ✨ Improve agent to avoid loading global config on main thread ([#​9190](DataDog/dd-trace-java#9190) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ add injection metadata fields to telemetry forwarder ([#​9185](DataDog/dd-trace-java#9185) - [@​sydney-tung](https://github.com/sydney-tung)) - 🐛 Avoid race conditions on feature discovery during Writer creation ([#​9173](DataDog/dd-trace-java#9173) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Surface potential root cause when agent initialization errors ([#​9170](DataDog/dd-trace-java#9170) - [@​AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - 💡 Support adding W3C baggage as span tags ([#​9169](DataDog/dd-trace-java#9169) - [@​rachelyangdog](https://github.com/rachelyangdog)) - ✨⚡ Align our default classloader excludes with OTel ([#​9161](DataDog/dd-trace-java#9161) - [@​mcculls](https://github.com/mcculls)) - ✨ Backpropagate container tags hash coming from the info endpoint ([#​9156](DataDog/dd-trace-java#9156) - [@​amarziali](https://github.com/amarziali)) - 🐛 Avoid race conditions and multiple agent discovery feature states ([#​9135](DataDog/dd-trace-java#9135) - [@​amarziali](https://github.com/amarziali)) ### Instrumentations #### AWS SDK instrumentation - ✨ Enhance Service Representation for Serverless ([#​9203](DataDog/dd-trace-java#9203) - [@​zarirhamza](https://github.com/zarirhamza)) #### gRPC instrumentation - 🐛 Add check to prevent injection of repeated GRPC headers ([#​9246](DataDog/dd-trace-java#9246) - [@​mhlidd](https://github.com/mhlidd)) #### JDBC instrumentation - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#​9224](DataDog/dd-trace-java#9224) - [@​lu-zhengda](https://github.com/lu-zhengda)) #### Play Framework instrumentation - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#​9160](DataDog/dd-trace-java#9160) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 9da36329ffa552291a640381780b608ef6513e29
What Does This Do
If multiple calls are done to
SharedCommunicationObjects.featureDiscovery(..)it might happen that multipleDDAgentFeatureDiscoveryinstances are created.This discovery instance must be unique in order to ensure that, tracer-wise, we keep the same vision of the state of the agent.
This PR just add a synchronized block around that creation
Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any usefull labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]