- Notifications
You must be signed in to change notification settings - Fork 314
Move JSON generation to sender thread to improve startup time. #9197
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
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 48 metrics, 11 unstable metrics. Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing Agent [baseline] (1.044 s) : 0, 1044303 Total [baseline] (8.623 s) : 0, 8623070 Agent [candidate] (1.047 s) : 0, 1046973 Total [candidate] (8.618 s) : 0, 8618111 section iast Agent [baseline] (1.181 s) : 0, 1181450 Total [baseline] (9.33 s) : 0, 9329766 Agent [candidate] (1.174 s) : 0, 1174207 Total [candidate] (9.312 s) : 0, 9312353
gantt title insecure-bank - break down per module: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.43 ms) : 0, 1430 crashtracking [candidate] (1.439 ms) : 0, 1439 BytebuddyAgent [baseline] (731.642 ms) : 0, 731642 BytebuddyAgent [candidate] (731.325 ms) : 0, 731325 GlobalTracer [baseline] (242.99 ms) : 0, 242990 GlobalTracer [candidate] (243.025 ms) : 0, 243025 AppSec [baseline] (30.562 ms) : 0, 30562 AppSec [candidate] (30.668 ms) : 0, 30668 Debugger [baseline] (6.085 ms) : 0, 6085 Debugger [candidate] (6.068 ms) : 0, 6068 Remote Config [baseline] (648.625 µs) : 0, 649 Remote Config [candidate] (658.814 µs) : 0, 659 Telemetry [baseline] (9.958 ms) : 0, 9958 Telemetry [candidate] (12.654 ms) : 0, 12654 section iast crashtracking [baseline] (1.44 ms) : 0, 1440 crashtracking [candidate] (1.432 ms) : 0, 1432 BytebuddyAgent [baseline] (853.65 ms) : 0, 853650 BytebuddyAgent [candidate] (848.3 ms) : 0, 848300 GlobalTracer [baseline] (232.678 ms) : 0, 232678 GlobalTracer [candidate] (231.389 ms) : 0, 231389 IAST [baseline] (30.733 ms) : 0, 30733 IAST [candidate] (30.509 ms) : 0, 30509 AppSec [baseline] (26.453 ms) : 0, 26453 AppSec [candidate] (26.287 ms) : 0, 26287 Debugger [baseline] (6.747 ms) : 0, 6747 Debugger [candidate] (6.694 ms) : 0, 6694 Remote Config [baseline] (586.188 µs) : 0, 586 Remote Config [candidate] (597.7 µs) : 0, 598 Telemetry [baseline] (8.124 ms) : 0, 8124 Telemetry [candidate] (8.108 ms) : 0, 8108 Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing Agent [baseline] (1.046 s) : 0, 1045782 Total [baseline] (10.792 s) : 0, 10792418 Agent [candidate] (1.047 s) : 0, 1046850 Total [candidate] (10.752 s) : 0, 10751872 section appsec Agent [baseline] (1.232 s) : 0, 1231632 Total [baseline] (10.866 s) : 0, 10866147 Agent [candidate] (1.234 s) : 0, 1233786 Total [candidate] (10.817 s) : 0, 10816780 section iast Agent [baseline] (1.178 s) : 0, 1177900 Total [baseline] (10.844 s) : 0, 10844128 Agent [candidate] (1.175 s) : 0, 1174948 Total [candidate] (10.894 s) : 0, 10894434 section profiling Agent [baseline] (1.2 s) : 0, 1199615 Total [baseline] (10.999 s) : 0, 10999102 Agent [candidate] (1.19 s) : 0, 1190361 Total [candidate] (10.925 s) : 0, 10925407
gantt title petclinic - break down per module: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.429 ms) : 0, 1429 crashtracking [candidate] (1.435 ms) : 0, 1435 BytebuddyAgent [baseline] (731.077 ms) : 0, 731077 BytebuddyAgent [candidate] (733.075 ms) : 0, 733075 GlobalTracer [baseline] (241.847 ms) : 0, 241847 GlobalTracer [candidate] (242.604 ms) : 0, 242604 AppSec [baseline] (30.442 ms) : 0, 30442 AppSec [candidate] (30.534 ms) : 0, 30534 Debugger [baseline] (6.049 ms) : 0, 6049 Debugger [candidate] (6.083 ms) : 0, 6083 Remote Config [baseline] (648.232 µs) : 0, 648 Remote Config [candidate] (657.77 µs) : 0, 658 Telemetry [baseline] (13.3 ms) : 0, 13300 Telemetry [candidate] (10.612 ms) : 0, 10612 section appsec crashtracking [baseline] (1.459 ms) : 0, 1459 crashtracking [candidate] (1.461 ms) : 0, 1461 BytebuddyAgent [baseline] (761.131 ms) : 0, 761131 BytebuddyAgent [candidate] (762.207 ms) : 0, 762207 GlobalTracer [baseline] (237.606 ms) : 0, 237606 GlobalTracer [candidate] (237.362 ms) : 0, 237362 AppSec [baseline] (169.169 ms) : 0, 169169 AppSec [candidate] (169.479 ms) : 0, 169479 Debugger [baseline] (7.908 ms) : 0, 7908 Debugger [candidate] (8.722 ms) : 0, 8722 Remote Config [baseline] (628.065 µs) : 0, 628 Remote Config [candidate] (626.557 µs) : 0, 627 Telemetry [baseline] (8.288 ms) : 0, 8288 Telemetry [candidate] (8.425 ms) : 0, 8425 IAST [baseline] (23.926 ms) : 0, 23926 IAST [candidate] (23.963 ms) : 0, 23963 section iast crashtracking [baseline] (1.432 ms) : 0, 1432 crashtracking [candidate] (1.433 ms) : 0, 1433 BytebuddyAgent [baseline] (850.045 ms) : 0, 850045 BytebuddyAgent [candidate] (847.86 ms) : 0, 847860 GlobalTracer [baseline] (234.151 ms) : 0, 234151 GlobalTracer [candidate] (232.058 ms) : 0, 232058 AppSec [baseline] (29.066 ms) : 0, 29066 AppSec [candidate] (25.692 ms) : 0, 25692 Debugger [baseline] (6.727 ms) : 0, 6727 Debugger [candidate] (7.566 ms) : 0, 7566 Remote Config [baseline] (595.427 µs) : 0, 595 Remote Config [candidate] (582.891 µs) : 0, 583 Telemetry [baseline] (8.119 ms) : 0, 8119 Telemetry [candidate] (8.17 ms) : 0, 8170 IAST [baseline] (26.594 ms) : 0, 26594 IAST [candidate] (30.56 ms) : 0, 30560 section profiling ProfilingAgent [baseline] (110.279 ms) : 0, 110279 ProfilingAgent [candidate] (108.692 ms) : 0, 108692 crashtracking [baseline] (1.405 ms) : 0, 1405 crashtracking [candidate] (1.399 ms) : 0, 1399 BytebuddyAgent [baseline] (763.681 ms) : 0, 763681 BytebuddyAgent [candidate] (758.245 ms) : 0, 758245 GlobalTracer [baseline] (221.668 ms) : 0, 221668 GlobalTracer [candidate] (220.235 ms) : 0, 220235 AppSec [baseline] (30.681 ms) : 0, 30681 AppSec [candidate] (30.2 ms) : 0, 30200 Debugger [baseline] (6.287 ms) : 0, 6287 Debugger [candidate] (6.281 ms) : 0, 6281 Remote Config [baseline] (721.774 µs) : 0, 722 Remote Config [candidate] (687.577 µs) : 0, 688 Telemetry [baseline] (15.313 ms) : 0, 15313 Telemetry [candidate] (15.437 ms) : 0, 15437 Profiling [baseline] (110.919 ms) : 0, 110919 Profiling [candidate] (109.324 ms) : 0, 109324 LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 3 performance regressions! Performance is the same for 8 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (37.558 ms) : 37244, 37872 . : milestone, 37558, appsec (46.111 ms) : 45699, 46523 . : milestone, 46111, code_origins (44.308 ms) : 43934, 44682 . : milestone, 44308, iast (43.245 ms) : 42879, 43610 . : milestone, 43245, profiling (46.686 ms) : 46248, 47125 . : milestone, 46686, tracing (44.223 ms) : 43852, 44594 . : milestone, 44223, section candidate no_agent (35.723 ms) : 35433, 36014 . : milestone, 35723, appsec (47.676 ms) : 47256, 48096 . : milestone, 47676, code_origins (47.369 ms) : 46956, 47782 . : milestone, 47369, iast (44.469 ms) : 44098, 44841 . : milestone, 44469, profiling (49.184 ms) : 48730, 49639 . : milestone, 49184, tracing (45.267 ms) : 44884, 45649 . : milestone, 45267,
Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (4.25 ms) : 4201, 4299 . : milestone, 4250, iast (9.315 ms) : 9158, 9472 . : milestone, 9315, iast_FULL (13.703 ms) : 13431, 13976 . : milestone, 13703, iast_GLOBAL (9.98 ms) : 9803, 10158 . : milestone, 9980, profiling (8.997 ms) : 8850, 9144 . : milestone, 8997, tracing (7.513 ms) : 7400, 7627 . : milestone, 7513, section candidate no_agent (4.294 ms) : 4237, 4351 . : milestone, 4294, iast (9.316 ms) : 9163, 9469 . : milestone, 9316, iast_FULL (14.096 ms) : 13815, 14378 . : milestone, 14096, iast_GLOBAL (9.921 ms) : 9749, 10094 . : milestone, 9921, profiling (9.102 ms) : 8960, 9243 . : milestone, 9102, tracing (7.443 ms) : 7334, 7551 . : milestone, 7443,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (15.67 s) : 15670000, 15670000 . : milestone, 15670000, appsec (14.599 s) : 14599000, 14599000 . : milestone, 14599000, iast (18.704 s) : 18704000, 18704000 . : milestone, 18704000, iast_GLOBAL (18.091 s) : 18091000, 18091000 . : milestone, 18091000, profiling (15.32 s) : 15320000, 15320000 . : milestone, 15320000, tracing (14.904 s) : 14904000, 14904000 . : milestone, 14904000, section candidate no_agent (15.411 s) : 15411000, 15411000 . : milestone, 15411000, appsec (15.118 s) : 15118000, 15118000 . : milestone, 15118000, iast (18.644 s) : 18644000, 18644000 . : milestone, 18644000, iast_GLOBAL (18.294 s) : 18294000, 18294000 . : milestone, 18294000, profiling (15.354 s) : 15354000, 15354000 . : milestone, 15354000, tracing (14.939 s) : 14939000, 14939000 . : milestone, 14939000,
Execution time for tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (1.474 ms) : 1463, 1486 . : milestone, 1474, appsec (3.583 ms) : 3370, 3797 . : milestone, 3583, iast (2.209 ms) : 2146, 2272 . : milestone, 2209, iast_GLOBAL (2.242 ms) : 2179, 2305 . : milestone, 2242, profiling (2.031 ms) : 1981, 2081 . : milestone, 2031, tracing (2.016 ms) : 1968, 2065 . : milestone, 2016, section candidate no_agent (1.479 ms) : 1467, 1490 . : milestone, 1479, appsec (3.649 ms) : 3432, 3865 . : milestone, 3649, iast (2.205 ms) : 2141, 2268 . : milestone, 2205, iast_GLOBAL (2.233 ms) : 2171, 2296 . : milestone, 2233, profiling (2.036 ms) : 1986, 2086 . : milestone, 2036, tracing (2.008 ms) : 1959, 2057 . : milestone, 2008,
|
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.
Good improvement idea!
I left minor comments. I also wonder if we should start creating a dedicated class for meta
and points
and enjoy it to create a dedicated setResult()
and toJson()
method.
dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java Outdated Show resolved Hide resolved
dd-java-agent/src/main/java/datadog/trace/bootstrap/BootstrapInitializationTelemetry.java Outdated Show resolved Hide resolved
Yes, I have the same feeling. Will work on this idea. |
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.
Looking good thanks! 👍
Nice to see all the synchronized
moved into the Telemetry
class.
| 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
Move JSON generation to sender thread to improve startup time.
Motivation
Improve agent startup time by offloading JSON generation to separate thread.