Skip to content

Read hsperfdata for Java PIDs if jvmstat is unavailable - #8792

Merged
MattAlp merged 5 commits into
masterfrom
mattalp/use-hsperfdata-for-java-ps
May 12, 2025
Merged

Read hsperfdata for Java PIDs if jvmstat is unavailable#8792
MattAlp merged 5 commits into
masterfrom
mattalp/use-hsperfdata-for-java-ps

Conversation

@MattAlp

@MattAlpMattAlp commented May 9, 2025

Copy link
Copy Markdown

What Does This Do

This reads from the hsperfdata directory created by JDKs with the perfdata feature enabled (on by default) to identify the process IDs of other JVMs on the system.

Motivation

This follows up on #8641 - initially, we had assumed that though jps may not be present or invocable across all distributions, the internal jvmstat module would be. We've discovered that this isn't the case via system tests and telemetry, so this PR adds in a new mechanism to reproduces jvmstat's behaviour.

Additional Notes

This PR is intended to be part of a phased rollout - we will likely deprecate the other means of getting the Java PIDs after introducing this one.

Contributor Checklist

Jira ticket: PROF-11673

@MattAlp
MattAlp requested a review from a team as a code ownerMay 9, 2025 16:56
@MattAlpMattAlp added type: feature Enhancements and improvements comp: core Tracer core labels May 9, 2025
@MattAlp
MattAlp requested a review from dougqhMay 9, 2025 16:56
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java Outdated
@pr-commenter

pr-commenterBot commented May 9, 2025

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermattalp/use-hsperfdata-for-java-ps
git_commit_date17470584431747060455
git_commit_sha90ca83fd7886c6
release_version1.50.0-SNAPSHOT~90ca83f4bc1.50.0-SNAPSHOT~d7886c60bb
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17470636421747063642
ci_job_id933671504933671504
ci_pipeline_id6479859764798597
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-84wybbtz-project-304-concurrent-1-djhcksou 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-84wybbtz-project-304-concurrent-1-djhcksou 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
moduleAgentAgent
parentNoneNone
variantiastiast

Summary

Found 2 performance improvements and 1 performance regressions! Performance is the same for 51 metrics, 17 unstable metrics.

scenarioΔ mean execution_timecandidate mean execution_timebaseline mean execution_time
scenario:startup:petclinic:profiling:ProfilingAgentbetter
[-8.166ms; -3.002ms] or [-7.469%; -2.746%]
103.736ms109.320ms
scenario:startup:petclinic:profiling:AppSecworse
[+5.560ms; +9.032ms] or [+10.152%; +16.490%]
62.065ms54.769ms
scenario:startup:petclinic:profiling:Profilingbetter
[-8.167ms; -3.003ms] or [-7.469%; -2.746%]
103.761ms109.346ms
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.021 s) : 0, 1020606
Total [baseline] (10.508 s) : 0, 10508126
Agent [candidate] (1.021 s) : 0, 1020655
Total [candidate] (10.492 s) : 0, 10492353
section appsec
Agent [baseline] (1.174 s) : 0, 1173709
Total [baseline] (10.728 s) : 0, 10728465
Agent [candidate] (1.162 s) : 0, 1162181
Total [candidate] (10.698 s) : 0, 10698184
section iast
Agent [baseline] (1.15 s) : 0, 1150444
Total [baseline] (10.921 s) : 0, 10921259
Agent [candidate] (1.164 s) : 0, 1164032
Total [candidate] (10.934 s) : 0, 10933965
section profiling
Agent [baseline] (1.283 s) : 0, 1282810
Total [baseline] (10.904 s) : 0, 10904397
Agent [candidate] (1.287 s) : 0, 1286724
Total [candidate] (11.004 s) : 0, 11004241
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.021 s-
Agentappsec1.174 s153.103 ms (15.0%)
Agentiast1.15 s129.838 ms (12.7%)
Agentprofiling1.283 s262.204 ms (25.7%)
Totaltracing10.508 s-
Totalappsec10.728 s220.339 ms (2.1%)
Totaliast10.921 s413.133 ms (3.9%)
Totalprofiling10.904 s396.271 ms (3.8%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.021 s-
Agentappsec1.162 s141.526 ms (13.9%)
Agentiast1.164 s143.377 ms (14.0%)
Agentprofiling1.287 s266.069 ms (26.1%)
Totaltracing10.492 s-
Totalappsec10.698 s205.831 ms (2.0%)
Totaliast10.934 s441.612 ms (4.2%)
Totalprofiling11.004 s511.888 ms (4.9%)
gantt
title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (683.273 ms) : 0, 683273
BytebuddyAgent [candidate] (683.773 ms) : 0, 683773
GlobalTracer [baseline] (240.329 ms) : 0, 240329
GlobalTracer [candidate] (240.655 ms) : 0, 240655
AppSec [baseline] (55.937 ms) : 0, 55937
AppSec [candidate] (54.49 ms) : 0, 54490
Debugger [baseline] (6.926 ms) : 0, 6926
Debugger [candidate] (9.124 ms) : 0, 9124
Remote Config [baseline] (705.936 µs) : 0, 706
Remote Config [candidate] (690.233 µs) : 0, 690
Telemetry [baseline] (9.877 ms) : 0, 9877
Telemetry [candidate] (8.298 ms) : 0, 8298
section appsec
BytebuddyAgent [baseline] (708.941 ms) : 0, 708941
BytebuddyAgent [candidate] (700.578 ms) : 0, 700578
GlobalTracer [baseline] (239.387 ms) : 0, 239387
GlobalTracer [candidate] (237.255 ms) : 0, 237255
IAST [baseline] (22.025 ms) : 0, 22025
IAST [candidate] (21.749 ms) : 0, 21749
AppSec [baseline] (176.22 ms) : 0, 176220
AppSec [candidate] (175.622 ms) : 0, 175622
Debugger [baseline] (5.985 ms) : 0, 5985
Debugger [candidate] (5.918 ms) : 0, 5918
Remote Config [baseline] (633.892 µs) : 0, 634
Remote Config [candidate] (615.137 µs) : 0, 615
Telemetry [baseline] (7.82 ms) : 0, 7820
Telemetry [candidate] (7.736 ms) : 0, 7736
section iast
BytebuddyAgent [baseline] (802.943 ms) : 0, 802943
BytebuddyAgent [candidate] (812.992 ms) : 0, 812992
GlobalTracer [baseline] (231.0 ms) : 0, 231000
GlobalTracer [candidate] (233.002 ms) : 0, 233002
IAST [baseline] (25.874 ms) : 0, 25874
IAST [candidate] (29.55 ms) : 0, 29550
AppSec [baseline] (52.747 ms) : 0, 52747
AppSec [candidate] (50.057 ms) : 0, 50057
Debugger [baseline] (5.865 ms) : 0, 5865
Debugger [candidate] (5.985 ms) : 0, 5985
Remote Config [baseline] (595.249 µs) : 0, 595
Remote Config [candidate] (619.135 µs) : 0, 619
Telemetry [baseline] (7.816 ms) : 0, 7816
Telemetry [candidate] (7.983 ms) : 0, 7983
section profiling
BytebuddyAgent [baseline] (673.709 ms) : 0, 673709
BytebuddyAgent [candidate] (677.668 ms) : 0, 677668
GlobalTracer [baseline] (379.338 ms) : 0, 379338
GlobalTracer [candidate] (377.035 ms) : 0, 377035
AppSec [baseline] (54.769 ms) : 0, 54769
AppSec [candidate] (62.065 ms) : 0, 62065
Debugger [baseline] (6.135 ms) : 0, 6135
Debugger [candidate] (6.365 ms) : 0, 6365
Remote Config [baseline] (670.505 µs) : 0, 671
Remote Config [candidate] (668.251 µs) : 0, 668
Telemetry [baseline] (8.084 ms) : 0, 8084
Telemetry [candidate] (8.219 ms) : 0, 8219
ProfilingAgent [baseline] (109.32 ms) : 0, 109320
ProfilingAgent [candidate] (103.736 ms) : 0, 103736
Profiling [baseline] (109.346 ms) : 0, 109346
Profiling [candidate] (103.761 ms) : 0, 103761
Loading
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.024 s) : 0, 1023532
Total [baseline] (8.651 s) : 0, 8650871
Agent [candidate] (1.021 s) : 0, 1020982
Total [candidate] (8.66 s) : 0, 8660203
section iast
Agent [baseline] (1.149 s) : 0, 1149036
Total [baseline] (9.249 s) : 0, 9249129
Agent [candidate] (1.149 s) : 0, 1149225
Total [candidate] (9.268 s) : 0, 9268239
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.158 s) : 0, 1158445
Total [baseline] (9.219 s) : 0, 9218752
Agent [candidate] (1.149 s) : 0, 1149264
Total [candidate] (9.202 s) : 0, 9202341
section iast_TELEMETRY_OFF
Agent [baseline] (1.146 s) : 0, 1146346
Total [baseline] (9.23 s) : 0, 9229962
Agent [candidate] (1.157 s) : 0, 1157259
Total [candidate] (9.284 s) : 0, 9284248
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.024 s-
Agentiast1.149 s125.503 ms (12.3%)
Agentiast_HARDCODED_SECRET_DISABLED1.158 s134.912 ms (13.2%)
Agentiast_TELEMETRY_OFF1.146 s122.814 ms (12.0%)
Totaltracing8.651 s-
Totaliast9.249 s598.258 ms (6.9%)
Totaliast_HARDCODED_SECRET_DISABLED9.219 s567.88 ms (6.6%)
Totaliast_TELEMETRY_OFF9.23 s579.091 ms (6.7%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.021 s-
Agentiast1.149 s128.243 ms (12.6%)
Agentiast_HARDCODED_SECRET_DISABLED1.149 s128.282 ms (12.6%)
Agentiast_TELEMETRY_OFF1.157 s136.277 ms (13.3%)
Totaltracing8.66 s-
Totaliast9.268 s608.037 ms (7.0%)
Totaliast_HARDCODED_SECRET_DISABLED9.202 s542.138 ms (6.3%)
Totaliast_TELEMETRY_OFF9.284 s624.045 ms (7.2%)
gantt
title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.053 ms) : 0, 684053
BytebuddyAgent [candidate] (681.776 ms) : 0, 681776
GlobalTracer [baseline] (241.136 ms) : 0, 241136
GlobalTracer [candidate] (240.255 ms) : 0, 240255
AppSec [baseline] (55.315 ms) : 0, 55315
AppSec [candidate] (55.076 ms) : 0, 55076
Debugger [baseline] (9.011 ms) : 0, 9011
Debugger [candidate] (10.595 ms) : 0, 10595
Remote Config [baseline] (697.977 µs) : 0, 698
Remote Config [candidate] (688.058 µs) : 0, 688
Telemetry [baseline] (9.756 ms) : 0, 9756
Telemetry [candidate] (8.937 ms) : 0, 8937
section iast
BytebuddyAgent [baseline] (801.868 ms) : 0, 801868
BytebuddyAgent [candidate] (801.543 ms) : 0, 801543
GlobalTracer [baseline] (230.513 ms) : 0, 230513
GlobalTracer [candidate] (230.619 ms) : 0, 230619
IAST [baseline] (28.235 ms) : 0, 28235
IAST [candidate] (28.4 ms) : 0, 28400
AppSec [baseline] (50.551 ms) : 0, 50551
AppSec [candidate] (50.593 ms) : 0, 50593
Debugger [baseline] (5.896 ms) : 0, 5896
Debugger [candidate] (5.963 ms) : 0, 5963
Remote Config [baseline] (598.728 µs) : 0, 599
Remote Config [candidate] (604.592 µs) : 0, 605
Telemetry [baseline] (7.882 ms) : 0, 7882
Telemetry [candidate] (7.949 ms) : 0, 7949
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (808.393 ms) : 0, 808393
BytebuddyAgent [candidate] (801.405 ms) : 0, 801405
GlobalTracer [baseline] (231.944 ms) : 0, 231944
GlobalTracer [candidate] (231.209 ms) : 0, 231209
IAST [baseline] (29.038 ms) : 0, 29038
IAST [candidate] (29.245 ms) : 0, 29245
AppSec [baseline] (50.812 ms) : 0, 50812
AppSec [candidate] (49.476 ms) : 0, 49476
Debugger [baseline] (5.991 ms) : 0, 5991
Debugger [candidate] (5.898 ms) : 0, 5898
Remote Config [baseline] (605.485 µs) : 0, 605
Remote Config [candidate] (595.756 µs) : 0, 596
Telemetry [baseline] (7.948 ms) : 0, 7948
Telemetry [candidate] (7.906 ms) : 0, 7906
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (799.42 ms) : 0, 799420
BytebuddyAgent [candidate] (806.732 ms) : 0, 806732
GlobalTracer [baseline] (230.691 ms) : 0, 230691
GlobalTracer [candidate] (232.975 ms) : 0, 232975
IAST [baseline] (23.838 ms) : 0, 23838
IAST [candidate] (24.362 ms) : 0, 24362
AppSec [baseline] (54.445 ms) : 0, 54445
AppSec [candidate] (54.892 ms) : 0, 54892
Debugger [baseline] (5.978 ms) : 0, 5978
Debugger [candidate] (6.058 ms) : 0, 6058
Remote Config [baseline] (676.28 µs) : 0, 676
Remote Config [candidate] (638.991 µs) : 0, 639
Telemetry [baseline] (7.802 ms) : 0, 7802
Telemetry [candidate] (7.916 ms) : 0, 7916
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
end_time2025-05-12T14:57:382025-05-12T15:05:23
git_branchmastermattalp/use-hsperfdata-for-java-ps
git_commit_date17470584431747060455
git_commit_sha90ca83fd7886c6
release_version1.50.0-SNAPSHOT~90ca83f4bc1.50.0-SNAPSHOT~d7886c60bb
start_time2025-05-12T14:57:242025-05-12T15:05:09
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17470627211747062721
ci_job_id933671506933671506
ci_pipeline_id6479859764798597
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-psrqmy6d-project-304-concurrent-0-ki0qw9xz 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-psrqmy6d-project-304-concurrent-0-ki0qw9xz 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variantiastiast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics.

Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.353 ms) : 1333, 1372
. : milestone, 1353,
appsec (1.742 ms) : 1718, 1765
. : milestone, 1742,
appsec_no_iast (1.731 ms) : 1707, 1755
. : milestone, 1731,
code_origins (1.669 ms) : 1641, 1696
. : milestone, 1669,
iast (1.517 ms) : 1493, 1540
. : milestone, 1517,
profiling (1.563 ms) : 1528, 1597
. : milestone, 1563,
tracing (1.493 ms) : 1468, 1517
. : milestone, 1493,
section candidate
no_agent (1.366 ms) : 1346, 1387
. : milestone, 1366,
appsec (1.74 ms) : 1715, 1764
. : milestone, 1740,
appsec_no_iast (1.728 ms) : 1704, 1751
. : milestone, 1728,
code_origins (1.676 ms) : 1650, 1703
. : milestone, 1676,
iast (1.516 ms) : 1492, 1540
. : milestone, 1516,
profiling (1.516 ms) : 1492, 1540
. : milestone, 1516,
tracing (1.499 ms) : 1474, 1524
. : milestone, 1499,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.353 ms [1.333 ms, 1.372 ms]-
appsec1.742 ms [1.718 ms, 1.765 ms]388.597 µs (28.7%)
appsec_no_iast1.731 ms [1.707 ms, 1.755 ms]377.692 µs (27.9%)
code_origins1.669 ms [1.641 ms, 1.696 ms]315.739 µs (23.3%)
iast1.517 ms [1.493 ms, 1.54 ms]163.735 µs (12.1%)
profiling1.563 ms [1.528 ms, 1.597 ms]209.605 µs (15.5%)
tracing1.493 ms [1.468 ms, 1.517 ms]139.571 µs (10.3%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.366 ms [1.346 ms, 1.387 ms]-
appsec1.74 ms [1.715 ms, 1.764 ms]373.507 µs (27.3%)
appsec_no_iast1.728 ms [1.704 ms, 1.751 ms]361.589 µs (26.5%)
code_origins1.676 ms [1.65 ms, 1.703 ms]310.397 µs (22.7%)
iast1.516 ms [1.492 ms, 1.54 ms]150.08 µs (11.0%)
profiling1.516 ms [1.492 ms, 1.54 ms]149.892 µs (11.0%)
tracing1.499 ms [1.474 ms, 1.524 ms]132.699 µs (9.7%)
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section baseline
no_agent (382.993 µs) : 362, 404
. : milestone, 383,
iast (521.606 µs) : 500, 543
. : milestone, 522,
iast_FULL (730.637 µs) : 707, 754
. : milestone, 731,
iast_GLOBAL (560.853 µs) : 539, 582
. : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (519.474 µs) : 496, 543
. : milestone, 519,
iast_INACTIVE (463.172 µs) : 441, 486
. : milestone, 463,
iast_TELEMETRY_OFF (514.793 µs) : 492, 538
. : milestone, 515,
tracing (454.063 µs) : 432, 476
. : milestone, 454,
section candidate
no_agent (378.646 µs) : 359, 399
. : milestone, 379,
iast (522.5 µs) : 499, 546
. : milestone, 522,
iast_FULL (732.485 µs) : 709, 756
. : milestone, 732,
iast_GLOBAL (568.068 µs) : 546, 590
. : milestone, 568,
iast_HARDCODED_SECRET_DISABLED (517.647 µs) : 496, 540
. : milestone, 518,
iast_INACTIVE (456.892 µs) : 435, 479
. : milestone, 457,
iast_TELEMETRY_OFF (511.93 µs) : 489, 535
. : milestone, 512,
tracing (459.749 µs) : 437, 482
. : milestone, 460,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent382.993 µs [362.098 µs, 403.888 µs]-
iast521.606 µs [499.743 µs, 543.47 µs]138.613 µs (36.2%)
iast_FULL730.637 µs [707.065 µs, 754.209 µs]347.644 µs (90.8%)
iast_GLOBAL560.853 µs [539.233 µs, 582.473 µs]177.86 µs (46.4%)
iast_HARDCODED_SECRET_DISABLED519.474 µs [495.84 µs, 543.108 µs]136.481 µs (35.6%)
iast_INACTIVE463.172 µs [440.613 µs, 485.732 µs]80.179 µs (20.9%)
iast_TELEMETRY_OFF514.793 µs [491.5 µs, 538.085 µs]131.8 µs (34.4%)
tracing454.063 µs [432.105 µs, 476.02 µs]71.07 µs (18.6%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent378.646 µs [358.701 µs, 398.591 µs]-
iast522.5 µs [499.375 µs, 545.625 µs]143.853 µs (38.0%)
iast_FULL732.485 µs [708.868 µs, 756.102 µs]353.839 µs (93.4%)
iast_GLOBAL568.068 µs [545.897 µs, 590.239 µs]189.422 µs (50.0%)
iast_HARDCODED_SECRET_DISABLED517.647 µs [495.653 µs, 539.642 µs]139.001 µs (36.7%)
iast_INACTIVE456.892 µs [434.857 µs, 478.928 µs]78.246 µs (20.7%)
iast_TELEMETRY_OFF511.93 µs [488.57 µs, 535.289 µs]133.283 µs (35.2%)
tracing459.749 µs [437.318 µs, 482.18 µs]81.103 µs (21.4%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermattalp/use-hsperfdata-for-java-ps
git_commit_date17470584431747060455
git_commit_sha90ca83fd7886c6
release_version1.50.0-SNAPSHOT~90ca83f4bc1.50.0-SNAPSHOT~d7886c60bb
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17470632671747063267
ci_job_id933671507933671507
ci_pipeline_id6479859764798597
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-vyqb-gpb-project-304-concurrent-0-xko8nw6a 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-vyqb-gpb-project-304-concurrent-0-xko8nw6a 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variantappsecappsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.472 ms) : 1461, 1484
. : milestone, 1472,
appsec (2.408 ms) : 2359, 2458
. : milestone, 2408,
iast (2.185 ms) : 2124, 2247
. : milestone, 2185,
iast_GLOBAL (2.237 ms) : 2174, 2299
. : milestone, 2237,
profiling (2.046 ms) : 1995, 2097
. : milestone, 2046,
tracing (2.022 ms) : 1974, 2070
. : milestone, 2022,
section candidate
no_agent (1.474 ms) : 1463, 1486
. : milestone, 1474,
appsec (2.398 ms) : 2349, 2446
. : milestone, 2398,
iast (2.181 ms) : 2120, 2243
. : milestone, 2181,
iast_GLOBAL (2.231 ms) : 2169, 2294
. : milestone, 2231,
profiling (2.53 ms) : 2345, 2716
. : milestone, 2530,
tracing (2.014 ms) : 1966, 2062
. : milestone, 2014,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.472 ms [1.461 ms, 1.484 ms]-
appsec2.408 ms [2.359 ms, 2.458 ms]935.808 µs (63.6%)
iast2.185 ms [2.124 ms, 2.247 ms]713.166 µs (48.4%)
iast_GLOBAL2.237 ms [2.174 ms, 2.299 ms]764.463 µs (51.9%)
profiling2.046 ms [1.995 ms, 2.097 ms]573.659 µs (39.0%)
tracing2.022 ms [1.974 ms, 2.07 ms]549.813 µs (37.3%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.474 ms [1.463 ms, 1.486 ms]-
appsec2.398 ms [2.349 ms, 2.446 ms]923.535 µs (62.7%)
iast2.181 ms [2.12 ms, 2.243 ms]707.247 µs (48.0%)
iast_GLOBAL2.231 ms [2.169 ms, 2.294 ms]757.431 µs (51.4%)
profiling2.53 ms [2.345 ms, 2.716 ms]1.056 ms (71.7%)
tracing2.014 ms [1.966 ms, 2.062 ms]539.841 µs (36.6%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~d7886c60bb, baseline=1.50.0-SNAPSHOT~90ca83f4bc
dateFormat X
axisFormat %s
section baseline
no_agent (14.974 s) : 14974000, 14974000
. : milestone, 14974000,
appsec (14.856 s) : 14856000, 14856000
. : milestone, 14856000,
iast (18.518 s) : 18518000, 18518000
. : milestone, 18518000,
iast_GLOBAL (17.995 s) : 17995000, 17995000
. : milestone, 17995000,
profiling (15.51 s) : 15510000, 15510000
. : milestone, 15510000,
tracing (14.944 s) : 14944000, 14944000
. : milestone, 14944000,
section candidate
no_agent (14.77 s) : 14770000, 14770000
. : milestone, 14770000,
appsec (14.829 s) : 14829000, 14829000
. : milestone, 14829000,
iast (18.612 s) : 18612000, 18612000
. : milestone, 18612000,
iast_GLOBAL (17.974 s) : 17974000, 17974000
. : milestone, 17974000,
profiling (15.235 s) : 15235000, 15235000
. : milestone, 15235000,
tracing (15.01 s) : 15010000, 15010000
. : milestone, 15010000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.974 s [14.974 s, 14.974 s]-
appsec14.856 s [14.856 s, 14.856 s]-118.0 ms (-0.8%)
iast18.518 s [18.518 s, 18.518 s]3.544 s (23.7%)
iast_GLOBAL17.995 s [17.995 s, 17.995 s]3.021 s (20.2%)
profiling15.51 s [15.51 s, 15.51 s]536.0 ms (3.6%)
tracing14.944 s [14.944 s, 14.944 s]-30.0 ms (-0.2%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.77 s [14.77 s, 14.77 s]-
appsec14.829 s [14.829 s, 14.829 s]59.0 ms (0.4%)
iast18.612 s [18.612 s, 18.612 s]3.842 s (26.0%)
iast_GLOBAL17.974 s [17.974 s, 17.974 s]3.204 s (21.7%)
profiling15.235 s [15.235 s, 15.235 s]465.0 ms (3.1%)
tracing15.01 s [15.01 s, 15.01 s]240.0 ms (1.6%)

@MattAlp
MattAlp requested a review from bric3May 9, 2025 23:46
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java Outdated
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java Outdated
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java
Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java Outdated
@jbachorik

Copy link
Copy Markdown
Contributor

@bric3

While taking a look it seems these can be turned off as well -XX:-UsePerfData.

Yeah. The bet is that this is mostly unused - anyway, it would affect also any jvmstat based tools like jps

Mattand others added 2 commits May 12, 2025 09:06
Co-authored-by: Jaroslav Bachorik <jaroslav.bachorik@datadoghq.com>
Co-authored-by: Brice Dutheil <brice.dutheil@gmail.com>
@datadog-datadog-prod-us1

datadog-datadog-prod-us1Bot commented May 12, 2025

Copy link
Copy Markdown
Contributor

Datadog Summary

✅ Code Quality✅ Code Security✅ Dependencies


Was this helpful? Give us feedback!

Comment threadinternal-api/src/main/java/datadog/trace/util/PidHelper.java Outdated
@MattAlp
MattAlpforce-pushed the mattalp/use-hsperfdata-for-java-ps branch from 9e161ee to d7886c6CompareMay 12, 2025 14:35
@MattAlp
MattAlp merged commit 020dc0d into masterMay 12, 2025
@MattAlp
MattAlp deleted the mattalp/use-hsperfdata-for-java-ps branch May 12, 2025 20:40
@github-actionsgithub-actionsBot added this to the 1.50.0 milestone May 12, 2025
@bric3

Copy link
Copy Markdown
Contributor

cc @PerfectSlayer

svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.49.0` -> `1.50.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.50.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.50.0):
1.50.0
### Deprecation Notice
> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.
### Components
#### Application Security Management (WAF)
- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))
#### Continuous Integration Visibility
- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Dynamic Instrumentation
- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))
#### GraalVM native-image
- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))
#### JMX fetch
- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
#### Library Injection
- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))
#### OpenTracing
- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))
#### Profiling
- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Trace context propagation
- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer internal logging
- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))
#### Tracer public API
- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))
### Instrumentations
#### AWS Lambda instrumentation
- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))
#### Core Java language instrumentation
- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))
#### Eclipse Vert.x instrumentation
- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))
#### IBM Liberty
- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))
#### JDBC instrumentation
- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))
#### JMS instrumentation
- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))
#### Kotlin instrumentation
- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Play Framework instrumentation
- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))
#### Quarkus Instrumentation
- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))
#### ServiceTalk
- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))
#### Spring instrumentation
- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### WebSocket Instrumentation
- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))
#### Zio Instrumentation
- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))
</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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- 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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
eizus pushed a commit to cdrxyz/misk that referenced this pull request Jul 18, 2026
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.49.0` -> `1.50.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.50.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.50.0):
1.50.0
### Deprecation Notice
> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.
### Components
#### Application Security Management (WAF)
- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))
#### Continuous Integration Visibility
- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Dynamic Instrumentation
- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))
#### GraalVM native-image
- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))
#### JMX fetch
- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
#### Library Injection
- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))
#### OpenTracing
- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))
#### Profiling
- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Trace context propagation
- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer internal logging
- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))
#### Tracer public API
- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))
### Instrumentations
#### AWS Lambda instrumentation
- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))
#### Core Java language instrumentation
- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))
#### Eclipse Vert.x instrumentation
- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))
#### IBM Liberty
- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))
#### JDBC instrumentation
- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))
#### JMS instrumentation
- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))
#### Kotlin instrumentation
- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Play Framework instrumentation
- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))
#### Quarkus Instrumentation
- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))
#### ServiceTalk
- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))
#### Spring instrumentation
- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### WebSocket Instrumentation
- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))
#### Zio Instrumentation
- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))
</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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- 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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: coreTracer coretype: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MattAlp@jbachorik@bric3@r1viollet