-
Notifications
You must be signed in to change notification settings - Fork 314
Automatically register crashtracking via native extensions #8851
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
Automatically register crashtracking via native extensions #8851
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 2 performance improvements and 11 performance regressions! Performance is the same for 29 metrics, 11 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (998.194 ms) : 0, 998194
Total [baseline] (8.579 s) : 0, 8579329
Agent [candidate] (1.052 s) : 0, 1051532
Total [candidate] (8.632 s) : 0, 8632349
section iast
Agent [baseline] (1.131 s) : 0, 1130549
Total [baseline] (9.271 s) : 0, 9270705
Agent [candidate] (1.187 s) : 0, 1186829
Total [candidate] (9.35 s) : 0, 9350312
gantt
title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section tracing
crashtracking [candidate] (1.445 ms) : 0, 1445
BytebuddyAgent [baseline] (686.897 ms) : 0, 686897
BytebuddyAgent [candidate] (740.44 ms) : 0, 740440
GlobalTracer [baseline] (244.587 ms) : 0, 244587
GlobalTracer [candidate] (242.765 ms) : 0, 242765
AppSec [baseline] (30.901 ms) : 0, 30901
AppSec [candidate] (30.665 ms) : 0, 30665
Debugger [baseline] (6.052 ms) : 0, 6052
Debugger [candidate] (6.095 ms) : 0, 6095
Remote Config [baseline] (677.31 µs) : 0, 677
Remote Config [candidate] (663.4 µs) : 0, 663
Telemetry [baseline] (8.245 ms) : 0, 8245
Telemetry [candidate] (8.356 ms) : 0, 8356
section iast
crashtracking [candidate] (1.477 ms) : 0, 1477
BytebuddyAgent [baseline] (803.908 ms) : 0, 803908
BytebuddyAgent [candidate] (861.056 ms) : 0, 861056
GlobalTracer [baseline] (233.361 ms) : 0, 233361
GlobalTracer [candidate] (231.248 ms) : 0, 231248
IAST [baseline] (26.423 ms) : 0, 26423
IAST [candidate] (30.628 ms) : 0, 30628
AppSec [baseline] (31.825 ms) : 0, 31825
AppSec [candidate] (26.276 ms) : 0, 26276
Debugger [baseline] (5.683 ms) : 0, 5683
Debugger [candidate] (6.59 ms) : 0, 6590
Remote Config [baseline] (582.081 µs) : 0, 582
Remote Config [candidate] (593.178 µs) : 0, 593
Telemetry [baseline] (7.885 ms) : 0, 7885
Telemetry [candidate] (7.935 ms) : 0, 7935
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (997.074 ms) : 0, 997074
Total [baseline] (10.687 s) : 0, 10686552
Agent [candidate] (1.038 s) : 0, 1038239
Total [candidate] (10.686 s) : 0, 10685683
section appsec
Agent [baseline] (1.173 s) : 0, 1173440
Total [baseline] (10.718 s) : 0, 10718049
Agent [candidate] (1.214 s) : 0, 1213792
Total [candidate] (10.745 s) : 0, 10745108
section iast
Agent [baseline] (1.128 s) : 0, 1127705
Total [baseline] (10.819 s) : 0, 10819145
Agent [candidate] (1.172 s) : 0, 1172294
Total [candidate] (10.902 s) : 0, 10902304
section profiling
Agent [baseline] (1.262 s) : 0, 1261610
Total [baseline] (11.131 s) : 0, 11131399
Agent [candidate] (1.195 s) : 0, 1194995
Total [candidate] (10.896 s) : 0, 10896179
gantt
title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section tracing
crashtracking [candidate] (1.439 ms) : 0, 1439
BytebuddyAgent [baseline] (686.866 ms) : 0, 686866
BytebuddyAgent [candidate] (730.268 ms) : 0, 730268
GlobalTracer [baseline] (243.655 ms) : 0, 243655
GlobalTracer [candidate] (239.605 ms) : 0, 239605
AppSec [baseline] (30.713 ms) : 0, 30713
AppSec [candidate] (30.279 ms) : 0, 30279
Debugger [baseline] (6.06 ms) : 0, 6060
Debugger [candidate] (6.011 ms) : 0, 6011
Remote Config [baseline] (680.538 µs) : 0, 681
Remote Config [candidate] (658.134 µs) : 0, 658
Telemetry [baseline] (8.207 ms) : 0, 8207
Telemetry [candidate] (8.98 ms) : 0, 8980
section appsec
crashtracking [candidate] (1.429 ms) : 0, 1429
BytebuddyAgent [baseline] (706.645 ms) : 0, 706645
BytebuddyAgent [candidate] (750.561 ms) : 0, 750561
GlobalTracer [baseline] (236.416 ms) : 0, 236416
GlobalTracer [candidate] (231.969 ms) : 0, 231969
IAST [baseline] (23.428 ms) : 0, 23428
IAST [candidate] (23.507 ms) : 0, 23507
AppSec [baseline] (171.78 ms) : 0, 171780
AppSec [candidate] (168.574 ms) : 0, 168574
Debugger [baseline] (5.733 ms) : 0, 5733
Debugger [candidate] (5.68 ms) : 0, 5680
Remote Config [baseline] (608.194 µs) : 0, 608
Remote Config [candidate] (619.772 µs) : 0, 620
Telemetry [baseline] (8.019 ms) : 0, 8019
Telemetry [candidate] (10.22 ms) : 0, 10220
section iast
crashtracking [candidate] (1.443 ms) : 0, 1443
BytebuddyAgent [baseline] (801.647 ms) : 0, 801647
BytebuddyAgent [candidate] (847.719 ms) : 0, 847719
GlobalTracer [baseline] (233.465 ms) : 0, 233465
GlobalTracer [candidate] (229.772 ms) : 0, 229772
IAST [baseline] (25.312 ms) : 0, 25312
IAST [candidate] (27.592 ms) : 0, 27592
AppSec [baseline] (32.227 ms) : 0, 32227
AppSec [candidate] (29.482 ms) : 0, 29482
Debugger [baseline] (5.706 ms) : 0, 5706
Debugger [candidate] (6.629 ms) : 0, 6629
Remote Config [baseline] (565.04 µs) : 0, 565
Remote Config [candidate] (588.201 µs) : 0, 588
Telemetry [baseline] (7.903 ms) : 0, 7903
Telemetry [candidate] (8.048 ms) : 0, 8048
section profiling
crashtracking [candidate] (1.415 ms) : 0, 1415
BytebuddyAgent [baseline] (685.568 ms) : 0, 685568
BytebuddyAgent [candidate] (768.432 ms) : 0, 768432
GlobalTracer [baseline] (367.403 ms) : 0, 367403
GlobalTracer [candidate] (219.768 ms) : 0, 219768
AppSec [baseline] (32.406 ms) : 0, 32406
AppSec [candidate] (30.611 ms) : 0, 30611
Debugger [baseline] (12.217 ms) : 0, 12217
Debugger [candidate] (6.354 ms) : 0, 6354
Remote Config [baseline] (663.888 µs) : 0, 664
Remote Config [candidate] (683.719 µs) : 0, 684
Telemetry [baseline] (8.927 ms) : 0, 8927
Telemetry [candidate] (12.659 ms) : 0, 12659
ProfilingAgent [baseline] (105.136 ms) : 0, 105136
ProfilingAgent [candidate] (106.018 ms) : 0, 106018
Profiling [baseline] (105.161 ms) : 0, 105161
Profiling [candidate] (106.041 ms) : 0, 106041
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 10 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section baseline
no_agent (37.542 ms) : 37240, 37844
. : milestone, 37542,
appsec (46.236 ms) : 45813, 46660
. : milestone, 46236,
code_origins (44.481 ms) : 44094, 44868
. : milestone, 44481,
iast (43.636 ms) : 43263, 44010
. : milestone, 43636,
profiling (46.73 ms) : 46315, 47146
. : milestone, 46730,
tracing (45.166 ms) : 44786, 45545
. : milestone, 45166,
section candidate
no_agent (36.887 ms) : 36600, 37174
. : milestone, 36887,
appsec (46.017 ms) : 45606, 46429
. : milestone, 46017,
code_origins (44.758 ms) : 44375, 45142
. : milestone, 44758,
iast (45.04 ms) : 44655, 45425
. : milestone, 45040,
profiling (50.485 ms) : 50014, 50957
. : milestone, 50485,
tracing (44.38 ms) : 43991, 44769
. : milestone, 44380,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section baseline
no_agent (4.387 ms) : 4335, 4439
. : milestone, 4387,
iast (9.537 ms) : 9373, 9700
. : milestone, 9537,
iast_FULL (14.015 ms) : 13735, 14294
. : milestone, 14015,
iast_GLOBAL (10.727 ms) : 10535, 10918
. : milestone, 10727,
profiling (8.751 ms) : 8607, 8895
. : milestone, 8751,
tracing (7.614 ms) : 7509, 7720
. : milestone, 7614,
section candidate
no_agent (4.287 ms) : 4238, 4337
. : milestone, 4287,
iast (9.356 ms) : 9205, 9507
. : milestone, 9356,
iast_FULL (14.283 ms) : 13995, 14570
. : milestone, 14283,
iast_GLOBAL (10.37 ms) : 10189, 10550
. : milestone, 10370,
profiling (8.957 ms) : 8807, 9108
. : milestone, 8957,
tracing (7.754 ms) : 7646, 7862
. : milestone, 7754,
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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section baseline
no_agent (1.485 ms) : 1473, 1496
. : milestone, 1485,
appsec (2.427 ms) : 2376, 2477
. : milestone, 2427,
iast (2.203 ms) : 2140, 2265
. : milestone, 2203,
iast_GLOBAL (2.253 ms) : 2190, 2316
. : milestone, 2253,
profiling (2.054 ms) : 2004, 2104
. : milestone, 2054,
tracing (2.015 ms) : 1966, 2063
. : milestone, 2015,
section candidate
no_agent (1.479 ms) : 1467, 1490
. : milestone, 1479,
appsec (3.63 ms) : 3416, 3843
. : milestone, 3630,
iast (2.201 ms) : 2138, 2263
. : milestone, 2201,
iast_GLOBAL (2.248 ms) : 2185, 2311
. : milestone, 2248,
profiling (2.044 ms) : 1994, 2094
. : milestone, 2044,
tracing (2.026 ms) : 1977, 2075
. : milestone, 2026,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~c05d54591b, baseline=1.52.0-SNAPSHOT~d9df78f4c9
dateFormat X
axisFormat %s
section baseline
no_agent (14.837 s) : 14837000, 14837000
. : milestone, 14837000,
appsec (15.013 s) : 15013000, 15013000
. : milestone, 15013000,
iast (18.863 s) : 18863000, 18863000
. : milestone, 18863000,
iast_GLOBAL (18.038 s) : 18038000, 18038000
. : milestone, 18038000,
profiling (15.182 s) : 15182000, 15182000
. : milestone, 15182000,
tracing (14.8 s) : 14800000, 14800000
. : milestone, 14800000,
section candidate
no_agent (15.549 s) : 15549000, 15549000
. : milestone, 15549000,
appsec (14.964 s) : 14964000, 14964000
. : milestone, 14964000,
iast (18.327 s) : 18327000, 18327000
. : milestone, 18327000,
iast_GLOBAL (18.181 s) : 18181000, 18181000
. : milestone, 18181000,
profiling (15.351 s) : 15351000, 15351000
. : milestone, 15351000,
tracing (15.074 s) : 15074000, 15074000
. : milestone, 15074000,
|
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.
The added dependencies on agent-bootstrap are not necessary.
Could you, please, make the tempdir location configurable? We've seen a handful of non-standard setups recently so let's better be ready for it.
And yes, the initialization is causing startup regression :( You will need to run it in a background thread.
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/Initializer.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
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
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
3006c65 to
58ae723
Compare
8b05775 to
b1e79ef
Compare
I am taking the ownership of this PR - I will need someone else's approval
2f1d1e5 to
7a305e8
Compare
18a3a71 to
d061ea0
Compare
dd-trace-api/src/main/java/datadog/trace/api/config/CrashTrackingConfig.java
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
f363e9b to
6d25b3b
Compare
# Conflicts: # dd-java-agent/agent-profiling/profiling-controller-ddprof/src/test/java/com/datadog/profiling/controller/ddprof/DatadogProfilerOngoingRecordingTest.java # dd-java-agent/agent-profiling/profiling-ddprof/src/test/java/com/datadog/profiling/ddprof/DatadogProfilerRecordingTest.java # dd-java-agent/agent-profiling/profiling-ddprof/src/test/java/com/datadog/profiling/ddprof/DatadogProfilerTest.java
432d627 to
b102731
Compare
b102731 to
0069b78
Compare
….com:DataDog/dd-trace-java into mattalp/reroute-gradle-profiler-dependencies
| log.debug("Initializing profiler"); | ||
| PROFILER_INIT_AFTER_JMX.run(); | ||
| try { | ||
| if (getJmxStartDelay() == 0) { |
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.
nitpick: Might be worth putting this comment as comment in the code ;)
What exactly do you mean? |
Co-authored-by: Jaroslav Bachorik <[email protected]>
| 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
This PR
ddprof.jarjust the one time despite being used for multiple tracer featuresMotivation
We would like to automatically enable crashtracking.
Additional Notes
The native library loading behavior & interactions via the tracer's Java code have been documented in our internal wiki, see
"Loading of theddprofNative Library in dd-trace-java". We could potentially include these docs in this PR for external contributors.We see a mix of startup regression and unexpected 'improvements'. This seems to be caused by a change in the startup sequence. The crash-tracking enablement should not really cause a noticeable increase in the startup time - we are running the initialization in a background thread, unless overridden by a debug config flag. So, the only real regression would be the extra classes we load before we actually schedule the initialization.
This is caused by shifting the initialization of the
AgentTaskSchedulerbefore the agent start and thus distorting the measurements.I added the crashtracking initialization before agent startup in order to be able to intercept any crashes during the agent startup. I think it is worth the inconvenience with the slightly confused benchmark results in this PR.
I want to get this auto-initialization in
enabledmode first so we can easily dogfood the mechanism - if there are any issues we can easily change the default value ofdd.crashtracking.enabledtofalseto go back to no auto initialization of crashtracking.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: PROF-11747 [PROF-10707] [PROF-11858]