-
Notifications
You must be signed in to change notification settings - Fork 312
Avoid race conditions on feature discovery during Writer creation #9173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving because the writer/tracer changes are limited to CI-Visibility mode
(we don't want to call discoverIfOutdated
in these places for other modes because that would re-introduce a blocking I/O call on the application thread.)
It looks like with the way things are the return value of |
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 insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (998.255 ms) : 0, 998255
Total [baseline] (8.577 s) : 0, 8576849
Agent [candidate] (1.0 s) : 0, 1000232
Total [candidate] (8.555 s) : 0, 8555030
section iast
Agent [baseline] (1.129 s) : 0, 1129120
Total [baseline] (9.271 s) : 0, 9271118
Agent [candidate] (1.131 s) : 0, 1131091
Total [candidate] (9.293 s) : 0, 9292619
gantt
title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (689.479 ms) : 0, 689479
BytebuddyAgent [candidate] (690.362 ms) : 0, 690362
GlobalTracer [baseline] (242.288 ms) : 0, 242288
GlobalTracer [candidate] (243.589 ms) : 0, 243589
AppSec [baseline] (30.742 ms) : 0, 30742
AppSec [candidate] (30.508 ms) : 0, 30508
Debugger [baseline] (6.028 ms) : 0, 6028
Debugger [candidate] (6.011 ms) : 0, 6011
Remote Config [baseline] (685.123 µs) : 0, 685
Remote Config [candidate] (686.559 µs) : 0, 687
Telemetry [baseline] (8.251 ms) : 0, 8251
Telemetry [candidate] (8.274 ms) : 0, 8274
section iast
BytebuddyAgent [baseline] (803.765 ms) : 0, 803765
BytebuddyAgent [candidate] (805.663 ms) : 0, 805663
GlobalTracer [baseline] (232.074 ms) : 0, 232074
GlobalTracer [candidate] (232.3 ms) : 0, 232300
AppSec [baseline] (30.827 ms) : 0, 30827
AppSec [candidate] (32.19 ms) : 0, 32190
Debugger [baseline] (5.814 ms) : 0, 5814
Debugger [candidate] (5.725 ms) : 0, 5725
Remote Config [baseline] (607.191 µs) : 0, 607
Remote Config [candidate] (594.541 µs) : 0, 595
Telemetry [baseline] (7.982 ms) : 0, 7982
Telemetry [candidate] (7.926 ms) : 0, 7926
IAST [baseline] (27.314 ms) : 0, 27314
IAST [candidate] (25.949 ms) : 0, 25949
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (992.676 ms) : 0, 992676
Total [baseline] (10.58 s) : 0, 10579755
Agent [candidate] (1.004 s) : 0, 1004050
Total [candidate] (10.656 s) : 0, 10656152
section appsec
Agent [baseline] (1.177 s) : 0, 1176695
Total [baseline] (10.701 s) : 0, 10700911
Agent [candidate] (1.177 s) : 0, 1176793
Total [candidate] (10.753 s) : 0, 10753043
section iast
Agent [baseline] (1.138 s) : 0, 1137637
Total [baseline] (10.806 s) : 0, 10805723
Agent [candidate] (1.131 s) : 0, 1130830
Total [candidate] (10.8 s) : 0, 10800286
section profiling
Agent [baseline] (1.242 s) : 0, 1241904
Total [baseline] (10.997 s) : 0, 10997117
Agent [candidate] (1.24 s) : 0, 1239583
Total [candidate] (10.948 s) : 0, 10948005
gantt
title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.54 ms) : 0, 684540
BytebuddyAgent [candidate] (694.011 ms) : 0, 694011
GlobalTracer [baseline] (241.886 ms) : 0, 241886
GlobalTracer [candidate] (243.5 ms) : 0, 243500
AppSec [baseline] (30.507 ms) : 0, 30507
AppSec [candidate] (30.566 ms) : 0, 30566
Debugger [baseline] (6.029 ms) : 0, 6029
Debugger [candidate] (6.044 ms) : 0, 6044
Remote Config [baseline] (675.782 µs) : 0, 676
Remote Config [candidate] (688.727 µs) : 0, 689
Telemetry [baseline] (8.139 ms) : 0, 8139
Telemetry [candidate] (8.289 ms) : 0, 8289
section appsec
BytebuddyAgent [baseline] (709.141 ms) : 0, 709141
BytebuddyAgent [candidate] (712.375 ms) : 0, 712375
GlobalTracer [baseline] (236.594 ms) : 0, 236594
GlobalTracer [candidate] (234.852 ms) : 0, 234852
AppSec [baseline] (171.782 ms) : 0, 171782
AppSec [candidate] (170.806 ms) : 0, 170806
Debugger [baseline] (5.777 ms) : 0, 5777
Debugger [candidate] (5.705 ms) : 0, 5705
Remote Config [baseline] (608.98 µs) : 0, 609
Remote Config [candidate] (607.113 µs) : 0, 607
Telemetry [baseline] (8.092 ms) : 0, 8092
Telemetry [candidate] (8.031 ms) : 0, 8031
IAST [baseline] (23.73 ms) : 0, 23730
IAST [candidate] (23.497 ms) : 0, 23497
section iast
BytebuddyAgent [baseline] (810.699 ms) : 0, 810699
BytebuddyAgent [candidate] (805.401 ms) : 0, 805401
GlobalTracer [baseline] (234.059 ms) : 0, 234059
GlobalTracer [candidate] (232.579 ms) : 0, 232579
AppSec [baseline] (28.119 ms) : 0, 28119
AppSec [candidate] (28.797 ms) : 0, 28797
Debugger [baseline] (7.458 ms) : 0, 7458
Debugger [candidate] (5.75 ms) : 0, 5750
Remote Config [baseline] (585.461 µs) : 0, 585
Remote Config [candidate] (580.965 µs) : 0, 581
Telemetry [baseline] (7.846 ms) : 0, 7846
Telemetry [candidate] (7.907 ms) : 0, 7907
IAST [baseline] (28.001 ms) : 0, 28001
IAST [candidate] (29.024 ms) : 0, 29024
section profiling
BytebuddyAgent [baseline] (674.984 ms) : 0, 674984
BytebuddyAgent [candidate] (674.651 ms) : 0, 674651
GlobalTracer [baseline] (361.454 ms) : 0, 361454
GlobalTracer [candidate] (360.339 ms) : 0, 360339
AppSec [baseline] (32.65 ms) : 0, 32650
AppSec [candidate] (32.899 ms) : 0, 32899
Debugger [baseline] (9.764 ms) : 0, 9764
Debugger [candidate] (9.891 ms) : 0, 9891
Remote Config [baseline] (677.083 µs) : 0, 677
Remote Config [candidate] (663.496 µs) : 0, 663
Telemetry [baseline] (10.329 ms) : 0, 10329
Telemetry [candidate] (8.758 ms) : 0, 8758
ProfilingAgent [baseline] (103.419 ms) : 0, 103419
ProfilingAgent [candidate] (103.81 ms) : 0, 103810
Profiling [baseline] (103.444 ms) : 0, 103444
Profiling [candidate] (103.834 ms) : 0, 103834
LoadParameters
See matching parameters
SummaryFound 4 performance improvements and 1 performance regressions! Performance is the same for 7 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section baseline
no_agent (37.322 ms) : 37022, 37623
. : milestone, 37322,
appsec (46.727 ms) : 46302, 47151
. : milestone, 46727,
code_origins (45.373 ms) : 44968, 45779
. : milestone, 45373,
iast (44.792 ms) : 44403, 45181
. : milestone, 44792,
profiling (50.273 ms) : 49788, 50758
. : milestone, 50273,
tracing (43.222 ms) : 42855, 43588
. : milestone, 43222,
section candidate
no_agent (35.937 ms) : 35644, 36231
. : milestone, 35937,
appsec (46.858 ms) : 46438, 47277
. : milestone, 46858,
code_origins (45.522 ms) : 45125, 45919
. : milestone, 45522,
iast (41.761 ms) : 41394, 42127
. : milestone, 41761,
profiling (47.347 ms) : 46918, 47776
. : milestone, 47347,
tracing (42.593 ms) : 42260, 42927
. : milestone, 42593,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section baseline
no_agent (4.449 ms) : 4398, 4500
. : milestone, 4449,
iast (9.25 ms) : 9094, 9406
. : milestone, 9250,
iast_FULL (14.147 ms) : 13862, 14431
. : milestone, 14147,
iast_GLOBAL (10.441 ms) : 10257, 10624
. : milestone, 10441,
profiling (8.341 ms) : 8206, 8477
. : milestone, 8341,
tracing (7.529 ms) : 7422, 7636
. : milestone, 7529,
section candidate
no_agent (4.36 ms) : 4309, 4411
. : milestone, 4360,
iast (9.184 ms) : 9034, 9334
. : milestone, 9184,
iast_FULL (14.411 ms) : 14121, 14700
. : milestone, 14411,
iast_GLOBAL (10.035 ms) : 9859, 10212
. : milestone, 10035,
profiling (8.699 ms) : 8555, 8843
. : milestone, 8699,
tracing (7.568 ms) : 7455, 7681
. : milestone, 7568,
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~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section baseline
no_agent (1.486 ms) : 1474, 1498
. : milestone, 1486,
appsec (2.423 ms) : 2373, 2473
. : milestone, 2423,
iast (2.213 ms) : 2150, 2276
. : milestone, 2213,
iast_GLOBAL (2.263 ms) : 2199, 2326
. : milestone, 2263,
profiling (2.072 ms) : 2020, 2124
. : milestone, 2072,
tracing (2.019 ms) : 1970, 2067
. : milestone, 2019,
section candidate
no_agent (1.483 ms) : 1472, 1495
. : milestone, 1483,
appsec (2.42 ms) : 2371, 2470
. : milestone, 2420,
iast (2.203 ms) : 2141, 2266
. : milestone, 2203,
iast_GLOBAL (2.262 ms) : 2199, 2325
. : milestone, 2262,
profiling (2.057 ms) : 2007, 2108
. : milestone, 2057,
tracing (2.021 ms) : 1972, 2070
. : milestone, 2021,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~4e880c76b9, baseline=1.52.0-SNAPSHOT~51532a82ba
dateFormat X
axisFormat %s
section baseline
no_agent (14.949 s) : 14949000, 14949000
. : milestone, 14949000,
appsec (14.668 s) : 14668000, 14668000
. : milestone, 14668000,
iast (18.789 s) : 18789000, 18789000
. : milestone, 18789000,
iast_GLOBAL (17.965 s) : 17965000, 17965000
. : milestone, 17965000,
profiling (14.839 s) : 14839000, 14839000
. : milestone, 14839000,
tracing (14.778 s) : 14778000, 14778000
. : milestone, 14778000,
section candidate
no_agent (15.511 s) : 15511000, 15511000
. : milestone, 15511000,
appsec (14.842 s) : 14842000, 14842000
. : milestone, 14842000,
iast (18.325 s) : 18325000, 18325000
. : milestone, 18325000,
iast_GLOBAL (17.769 s) : 17769000, 17769000
. : milestone, 17769000,
profiling (15.149 s) : 15149000, 15149000
. : milestone, 15149000,
tracing (15.232 s) : 15232000, 15232000
. : milestone, 15232000,
|
Co-authored-by: Nikita Tkachenko <[email protected]>
Firstly a warning to be careful of using certain Secondly we already have a way for products/services to wait for the initial result: https://github.com/DataDog/dd-trace-java/blob/v1.51.0/communication/src/main/java/datadog/communication/ddagent/SharedCommunicationObjects.java#L63 This is used to defer part of the Writer setup: https://github.com/DataDog/dd-trace-java/blob/v1.51.0/dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java#L690 Unfortunately it's hard to do the same for CI-Vis because of how it's currently integrated into the tracer, so I'm fine with these simpler changes in the short-term. In the medium to long-term I'd prefer to rework startup to use run-levels, so it's clear what a product/feature can do at various points during startup and it's easier to order things. It would also make clearer the dependencies between products/services and help to untangle things in EDIT:
This is where we need to be careful in the general case, because often we're setting things up on the application thread - and waiting here blocks the application. Ideally we would only do enough work on the application thread to capture observations/traces, etc. from it (since that can be buffered.) Once we get discovery back from the agent then we know how to send that data and can offload the buffer. This is a simple example, depending on the feature it may not be possible to do much until we complete the agent discovery - it gets harder when you have dependencies between products and their startup (hence the need for run-levels or something similar) |
| 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
datadog.trace.common.writer.WriterFactory
where a call todatadog.communication.ddagent.SharedCommunicationObjects#featuresDiscovery
scheduled the discovery of features, but these were accessed immediately after without checking if they had been initialized or not.discoverIfOutdated
instead ofdiscover
, to ensure the features are not reset while reading them in other parts of the code.Motivation
CI Visibility functionality is limited. Please upgrade to Agent v6.40+ or v7.40+ or enable Agentless mode.
incorrectly appearing. This had other impacts on the Test Optimization product like session and module data not being reported.Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]