Skip to content

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Mar 7, 2025

What Does This Do

We provide a new way to extract the SourceFile attribute from classfile that just scan the byte array to reconstruct the offsets of the constant pool and quickly fetch at the right location the content of the SourceFile attribute

Benchmarks:
Simple classfile:

Benchmark Mode Cnt Score Error Units ClassFileSourceFileBenchmark.baselineASM avgt 5 5048.345 ± 75.107 ns/op ClassFileSourceFileBenchmark.offsetVersion avgt 5 473.060 ± 36.270 ns/op 

Large classfile (60KB):

Benchmark Mode Cnt Score Error Units ClassFileSourceFileBenchmark.baselineASM avgt 5 160130.785 ± 8518.164 ns/op ClassFileSourceFileBenchmark.offsetVersion avgt 5 6377.485 ± 340.274 ns/op 

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3575

We provide a new way to extract the SourceFile attribute from classfile that just scan the byte array to reconstruct the offsets of the constant pool and quickly fetch at the right location the content of the SourceFile attribute
@jpbempel jpbempel requested a review from a team as a code owner March 7, 2025 07:44
@jpbempel jpbempel requested review from shatzi and removed request for a team March 7, 2025 07:44
Copy link
Contributor

github-actions bot commented Mar 7, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements labels Mar 7, 2025
@jpbempel jpbempel requested review from mcculls and removed request for shatzi March 7, 2025 07:44
@pr-commenter
Copy link

pr-commenter bot commented Mar 7, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1741333539 1741333921
end_time 2025-03-07T07:46:56 2025-03-07T07:53:19
git_branch master jpbempel/optim-extract-source-file
git_commit_sha 71cbb06 aa4be16
start_time 2025-03-07T07:45:40 2025-03-07T07:52:02
See matching parameters
Baseline Candidate
ci_job_id 837258888 837258888
ci_pipeline_id 58047656 58047656
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1741329483 1741329483

Summary

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

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:loop better
[-395.626µs; -232.793µs] or [-3.735%; -2.198%]
better
[-405.947µs; -234.560µs] or [-3.770%; -2.178%]
better
[-391.778µs; -210.574µs] or [-3.609%; -1.940%]
better
[-575.492µs; -116.697µs] or [-5.112%; -1.037%]
better
[+1.934op/s; +4.153op/s] or [+2.108%; +4.527%]
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-16.665µs; +19.051µs] or [-6.160%; +7.042%]
unstable
[-29.531µs; +27.457µs] or [-9.461%; +8.796%]
unstable
[-40.220µs; +38.105µs] or [-12.361%; +11.711%]
unstable
[-87.477µs; +95.061µs] or [-14.905%; +16.197%]
same
scenario:basic same same same unstable
[-59.774µs; +27.226µs] or [-11.106%; +5.059%]
same
Request duration reports for reports
gantt title reports - request duration [CI 0.99] : candidate=None, baseline=None dateFormat X axisFormat %s section baseline noprobe (312.138 µs) : 281, 344 . : milestone, 312, basic (302.884 µs) : 293, 313 . : milestone, 303, loop (10.768 ms) : 10734, 10802 . : milestone, 10768, section candidate noprobe (311.101 µs) : 289, 333 . : milestone, 311, basic (309.532 µs) : 300, 319 . : milestone, 310, loop (10.448 ms) : 10340, 10555 . : milestone, 10448, 
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 312.138 µs [280.666 µs, 343.609 µs]
basic 302.884 µs [292.7 µs, 313.068 µs]
loop 10.768 ms [10.734 ms, 10.802 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 311.101 µs [289.087 µs, 333.115 µs]
basic 309.532 µs [299.868 µs, 319.197 µs]
loop 10.448 ms [10.34 ms, 10.555 ms]
@pr-commenter
Copy link

pr-commenter bot commented Mar 7, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/optim-extract-source-file
git_commit_date 1741271106 1741329483
git_commit_sha 71cbb06 aa4be16
release_version 1.48.0-SNAPSHOT~71cbb065b9 1.48.0-SNAPSHOT~aa4be16a8b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741335383 1741335383
ci_job_id 837258882 837258882
ci_pipeline_id 58047656 58047656
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-tqhmghwg-project-304-concurrent-0-ovfhtq3j 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-tqhmghwg-project-304-concurrent-0-ovfhtq3j 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:AppSec better
[-6.887ms; -1.317ms] or [-12.196%; -2.332%]
52.370ms 56.472ms
Startup time reports for insecure-bank
gantt title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section tracing Agent [baseline] (1.041 s) : 0, 1041436 Total [baseline] (8.684 s) : 0, 8683778 Agent [candidate] (1.036 s) : 0, 1035785 Total [candidate] (8.662 s) : 0, 8661887 section iast Agent [baseline] (1.17 s) : 0, 1169502 Total [baseline] (9.233 s) : 0, 9233156 Agent [candidate] (1.172 s) : 0, 1172086 Total [candidate] (9.242 s) : 0, 9241986 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.17 s) : 0, 1170267 Total [baseline] (9.211 s) : 0, 9211467 Agent [candidate] (1.18 s) : 0, 1179929 Total [candidate] (9.25 s) : 0, 9249958 section iast_TELEMETRY_OFF Agent [baseline] (1.166 s) : 0, 1165794 Total [baseline] (9.227 s) : 0, 9226846 Agent [candidate] (1.165 s) : 0, 1165362 Total [candidate] (9.282 s) : 0, 9281747 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent iast 1.17 s 128.067 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.17 s 128.832 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.166 s 124.358 ms (11.9%)
Total tracing 8.684 s -
Total iast 9.233 s 549.378 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.211 s 527.688 ms (6.1%)
Total iast_TELEMETRY_OFF 9.227 s 543.068 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.036 s -
Agent iast 1.172 s 136.301 ms (13.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.18 s 144.145 ms (13.9%)
Agent iast_TELEMETRY_OFF 1.165 s 129.577 ms (12.5%)
Total tracing 8.662 s -
Total iast 9.242 s 580.099 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.25 s 588.071 ms (6.8%)
Total iast_TELEMETRY_OFF 9.282 s 619.86 ms (7.2%)
gantt title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (718.224 ms) : 0, 718224 BytebuddyAgent [candidate] (716.402 ms) : 0, 716402 GlobalTracer [baseline] (240.086 ms) : 0, 240086 GlobalTracer [candidate] (239.342 ms) : 0, 239342 AppSec [baseline] (55.378 ms) : 0, 55378 AppSec [candidate] (55.214 ms) : 0, 55214 Remote Config [baseline] (683.972 µs) : 0, 684 Remote Config [candidate] (687.933 µs) : 0, 688 Telemetry [baseline] (12.091 ms) : 0, 12091 Telemetry [candidate] (9.257 ms) : 0, 9257 section iast BytebuddyAgent [baseline] (836.228 ms) : 0, 836228 BytebuddyAgent [candidate] (837.608 ms) : 0, 837608 GlobalTracer [baseline] (230.039 ms) : 0, 230039 GlobalTracer [candidate] (230.362 ms) : 0, 230362 IAST [baseline] (22.638 ms) : 0, 22638 IAST [candidate] (23.081 ms) : 0, 23081 AppSec [baseline] (56.492 ms) : 0, 56492 AppSec [candidate] (56.561 ms) : 0, 56561 Remote Config [baseline] (620.447 µs) : 0, 620 Remote Config [candidate] (616.142 µs) : 0, 616 Telemetry [baseline] (8.557 ms) : 0, 8557 Telemetry [candidate] (8.801 ms) : 0, 8801 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (836.494 ms) : 0, 836494 BytebuddyAgent [candidate] (843.152 ms) : 0, 843152 GlobalTracer [baseline] (229.952 ms) : 0, 229952 GlobalTracer [candidate] (232.105 ms) : 0, 232105 IAST [baseline] (22.958 ms) : 0, 22958 IAST [candidate] (23.179 ms) : 0, 23179 AppSec [baseline] (56.529 ms) : 0, 56529 AppSec [candidate] (56.992 ms) : 0, 56992 Remote Config [baseline] (614.306 µs) : 0, 614 Remote Config [candidate] (628.123 µs) : 0, 628 Telemetry [baseline] (8.754 ms) : 0, 8754 Telemetry [candidate] (8.828 ms) : 0, 8828 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (832.868 ms) : 0, 832868 BytebuddyAgent [candidate] (832.665 ms) : 0, 832665 GlobalTracer [baseline] (230.026 ms) : 0, 230026 GlobalTracer [candidate] (229.917 ms) : 0, 229917 IAST [baseline] (22.316 ms) : 0, 22316 IAST [candidate] (26.315 ms) : 0, 26315 AppSec [baseline] (56.472 ms) : 0, 56472 AppSec [candidate] (52.37 ms) : 0, 52370 Remote Config [baseline] (615.986 µs) : 0, 616 Remote Config [candidate] (607.288 µs) : 0, 607 Telemetry [baseline] (8.572 ms) : 0, 8572 Telemetry [candidate] (8.535 ms) : 0, 8535 
Loading
Startup time reports for petclinic
gantt title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section tracing Agent [baseline] (1.055 s) : 0, 1055382 Total [baseline] (10.526 s) : 0, 10525877 Agent [candidate] (1.041 s) : 0, 1041090 Total [candidate] (10.463 s) : 0, 10462990 section appsec Agent [baseline] (1.185 s) : 0, 1185024 Total [baseline] (10.755 s) : 0, 10755404 Agent [candidate] (1.185 s) : 0, 1184607 Total [candidate] (10.842 s) : 0, 10842468 section iast Agent [baseline] (1.169 s) : 0, 1169051 Total [baseline] (10.967 s) : 0, 10967016 Agent [candidate] (1.171 s) : 0, 1170988 Total [candidate] (10.999 s) : 0, 10998991 section profiling Agent [baseline] (1.267 s) : 0, 1267377 Total [baseline] (10.968 s) : 0, 10968339 Agent [candidate] (1.262 s) : 0, 1261710 Total [candidate] (10.862 s) : 0, 10862061 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.185 s 129.642 ms (12.3%)
Agent iast 1.169 s 113.669 ms (10.8%)
Agent profiling 1.267 s 211.995 ms (20.1%)
Total tracing 10.526 s -
Total appsec 10.755 s 229.526 ms (2.2%)
Total iast 10.967 s 441.139 ms (4.2%)
Total profiling 10.968 s 442.461 ms (4.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent appsec 1.185 s 143.517 ms (13.8%)
Agent iast 1.171 s 129.897 ms (12.5%)
Agent profiling 1.262 s 220.62 ms (21.2%)
Total tracing 10.463 s -
Total appsec 10.842 s 379.478 ms (3.6%)
Total iast 10.999 s 536.001 ms (5.1%)
Total profiling 10.862 s 399.07 ms (3.8%)
gantt title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (728.211 ms) : 0, 728211 BytebuddyAgent [candidate] (717.575 ms) : 0, 717575 GlobalTracer [baseline] (242.585 ms) : 0, 242585 GlobalTracer [candidate] (239.891 ms) : 0, 239891 AppSec [baseline] (56.262 ms) : 0, 56262 AppSec [candidate] (55.658 ms) : 0, 55658 Remote Config [baseline] (708.186 µs) : 0, 708 Remote Config [candidate] (697.912 µs) : 0, 698 Telemetry [baseline] (12.389 ms) : 0, 12389 Telemetry [candidate] (12.306 ms) : 0, 12306 section appsec BytebuddyAgent [baseline] (736.268 ms) : 0, 736268 BytebuddyAgent [candidate] (735.513 ms) : 0, 735513 GlobalTracer [baseline] (236.962 ms) : 0, 236962 GlobalTracer [candidate] (236.578 ms) : 0, 236578 IAST [baseline] (21.71 ms) : 0, 21710 IAST [candidate] (21.491 ms) : 0, 21491 AppSec [baseline] (176.999 ms) : 0, 176999 AppSec [candidate] (177.862 ms) : 0, 177862 Remote Config [baseline] (667.359 µs) : 0, 667 Remote Config [candidate] (668.313 µs) : 0, 668 Telemetry [baseline] (8.31 ms) : 0, 8310 Telemetry [candidate] (8.335 ms) : 0, 8335 section iast BytebuddyAgent [baseline] (835.465 ms) : 0, 835465 BytebuddyAgent [candidate] (836.333 ms) : 0, 836333 GlobalTracer [baseline] (229.945 ms) : 0, 229945 GlobalTracer [candidate] (230.287 ms) : 0, 230287 IAST [baseline] (22.949 ms) : 0, 22949 IAST [candidate] (22.784 ms) : 0, 22784 AppSec [baseline] (56.452 ms) : 0, 56452 AppSec [candidate] (57.252 ms) : 0, 57252 Remote Config [baseline] (629.97 µs) : 0, 630 Remote Config [candidate] (612.415 µs) : 0, 612 Telemetry [baseline] (8.641 ms) : 0, 8641 Telemetry [candidate] (8.715 ms) : 0, 8715 section profiling BytebuddyAgent [baseline] (713.768 ms) : 0, 713768 BytebuddyAgent [candidate] (710.06 ms) : 0, 710060 GlobalTracer [baseline] (350.806 ms) : 0, 350806 GlobalTracer [candidate] (351.414 ms) : 0, 351414 AppSec [baseline] (55.312 ms) : 0, 55312 AppSec [candidate] (54.065 ms) : 0, 54065 Remote Config [baseline] (679.094 µs) : 0, 679 Remote Config [candidate] (678.704 µs) : 0, 679 Telemetry [baseline] (9.017 ms) : 0, 9017 Telemetry [candidate] (9.065 ms) : 0, 9065 ProfilingAgent [baseline] (97.202 ms) : 0, 97202 ProfilingAgent [candidate] (96.042 ms) : 0, 96042 Profiling [baseline] (97.227 ms) : 0, 97227 Profiling [candidate] (96.066 ms) : 0, 96066 
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-07T07:46:40 2025-03-07T07:54:25
git_branch master jpbempel/optim-extract-source-file
git_commit_date 1741271106 1741329483
git_commit_sha 71cbb06 aa4be16
release_version 1.48.0-SNAPSHOT~71cbb065b9 1.48.0-SNAPSHOT~aa4be16a8b
start_time 2025-03-07T07:46:26 2025-03-07T07:54:11
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741334465 1741334465
ci_job_id 837258883 837258883
ci_pipeline_id 58047656 58047656
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-9t3r3tsy-project-304-concurrent-0-n1uez0r1 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-9t3r3tsy-project-304-concurrent-0-n1uez0r1 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:profiling worse
[+42.437µs; +93.690µs] or [+2.821%; +6.227%]
unstable
[-663.912op/s; +435.991op/s] or [-21.577%; +14.170%]
1.573ms 2962.963op/s 1.505ms 3076.923op/s
Request duration reports for insecure-bank
gantt title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section baseline no_agent (389.033 µs) : 368, 410 . : milestone, 389, iast (514.573 µs) : 493, 536 . : milestone, 515, iast_FULL (728.336 µs) : 707, 750 . : milestone, 728, iast_GLOBAL (561.417 µs) : 539, 584 . : milestone, 561, iast_HARDCODED_SECRET_DISABLED (512.942 µs) : 491, 535 . : milestone, 513, iast_INACTIVE (468.186 µs) : 447, 490 . : milestone, 468, iast_TELEMETRY_OFF (502.105 µs) : 479, 525 . : milestone, 502, tracing (452.946 µs) : 432, 474 . : milestone, 453, section candidate no_agent (384.218 µs) : 364, 404 . : milestone, 384, iast (510.243 µs) : 488, 533 . : milestone, 510, iast_FULL (737.882 µs) : 716, 760 . : milestone, 738, iast_GLOBAL (566.955 µs) : 545, 589 . : milestone, 567, iast_HARDCODED_SECRET_DISABLED (519.98 µs) : 497, 543 . : milestone, 520, iast_INACTIVE (469.42 µs) : 448, 491 . : milestone, 469, iast_TELEMETRY_OFF (501.286 µs) : 479, 524 . : milestone, 501, tracing (458.912 µs) : 438, 480 . : milestone, 459, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.033 µs [368.386 µs, 409.681 µs] -
iast 514.573 µs [493.111 µs, 536.034 µs] 125.539 µs (32.3%)
iast_FULL 728.336 µs [706.516 µs, 750.155 µs] 339.302 µs (87.2%)
iast_GLOBAL 561.417 µs [538.89 µs, 583.944 µs] 172.384 µs (44.3%)
iast_HARDCODED_SECRET_DISABLED 512.942 µs [490.749 µs, 535.136 µs] 123.909 µs (31.9%)
iast_INACTIVE 468.186 µs [446.556 µs, 489.816 µs] 79.153 µs (20.3%)
iast_TELEMETRY_OFF 502.105 µs [479.268 µs, 524.942 µs] 113.072 µs (29.1%)
tracing 452.946 µs [432.29 µs, 473.601 µs] 63.912 µs (16.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 384.218 µs [364.284 µs, 404.152 µs] -
iast 510.243 µs [487.806 µs, 532.681 µs] 126.025 µs (32.8%)
iast_FULL 737.882 µs [716.068 µs, 759.696 µs] 353.664 µs (92.0%)
iast_GLOBAL 566.955 µs [545.17 µs, 588.739 µs] 182.736 µs (47.6%)
iast_HARDCODED_SECRET_DISABLED 519.98 µs [497.353 µs, 542.607 µs] 135.761 µs (35.3%)
iast_INACTIVE 469.42 µs [447.875 µs, 490.964 µs] 85.201 µs (22.2%)
iast_TELEMETRY_OFF 501.286 µs [478.8 µs, 523.773 µs] 117.068 µs (30.5%)
tracing 458.912 µs [438.195 µs, 479.628 µs] 74.693 µs (19.4%)
Request duration reports for petclinic
gantt title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section baseline no_agent (1.348 ms) : 1329, 1367 . : milestone, 1348, appsec (1.749 ms) : 1725, 1772 . : milestone, 1749, appsec_no_iast (1.724 ms) : 1700, 1748 . : milestone, 1724, code_origins (1.721 ms) : 1688, 1754 . : milestone, 1721, iast (1.512 ms) : 1488, 1536 . : milestone, 1512, profiling (1.505 ms) : 1481, 1528 . : milestone, 1505, tracing (1.499 ms) : 1473, 1525 . : milestone, 1499, section candidate no_agent (1.365 ms) : 1346, 1385 . : milestone, 1365, appsec (1.74 ms) : 1716, 1763 . : milestone, 1740, appsec_no_iast (1.752 ms) : 1728, 1776 . : milestone, 1752, code_origins (1.7 ms) : 1673, 1726 . : milestone, 1700, iast (1.509 ms) : 1485, 1533 . : milestone, 1509, profiling (1.573 ms) : 1549, 1596 . : milestone, 1573, tracing (1.525 ms) : 1500, 1550 . : milestone, 1525, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.348 ms [1.329 ms, 1.367 ms] -
appsec 1.749 ms [1.725 ms, 1.772 ms] 400.385 µs (29.7%)
appsec_no_iast 1.724 ms [1.7 ms, 1.748 ms] 375.817 µs (27.9%)
code_origins 1.721 ms [1.688 ms, 1.754 ms] 372.735 µs (27.6%)
iast 1.512 ms [1.488 ms, 1.536 ms] 163.832 µs (12.2%)
profiling 1.505 ms [1.481 ms, 1.528 ms] 156.212 µs (11.6%)
tracing 1.499 ms [1.473 ms, 1.525 ms] 150.987 µs (11.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.365 ms [1.346 ms, 1.385 ms] -
appsec 1.74 ms [1.716 ms, 1.763 ms] 374.55 µs (27.4%)
appsec_no_iast 1.752 ms [1.728 ms, 1.776 ms] 386.914 µs (28.3%)
code_origins 1.7 ms [1.673 ms, 1.726 ms] 334.331 µs (24.5%)
iast 1.509 ms [1.485 ms, 1.533 ms] 143.632 µs (10.5%)
profiling 1.573 ms [1.549 ms, 1.596 ms] 207.252 µs (15.2%)
tracing 1.525 ms [1.5 ms, 1.55 ms] 159.831 µs (11.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/optim-extract-source-file
git_commit_date 1741271106 1741329483
git_commit_sha 71cbb06 aa4be16
release_version 1.48.0-SNAPSHOT~71cbb065b9 1.48.0-SNAPSHOT~aa4be16a8b
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1741334952 1741334952
ci_job_id 837258884 837258884
ci_pipeline_id 58047656 58047656
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-tqhmghwg-project-304-concurrent-1-o6cfarzb 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-tqhmghwg-project-304-concurrent-1-o6cfarzb 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for tomcat
gantt title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section baseline no_agent (1.465 ms) : 1454, 1476 . : milestone, 1465, appsec (2.329 ms) : 2286, 2372 . : milestone, 2329, iast (2.104 ms) : 2049, 2158 . : milestone, 2104, iast_GLOBAL (2.147 ms) : 2092, 2201 . : milestone, 2147, profiling (1.976 ms) : 1932, 2019 . : milestone, 1976, tracing (1.94 ms) : 1898, 1982 . : milestone, 1940, section candidate no_agent (1.47 ms) : 1458, 1481 . : milestone, 1470, appsec (2.334 ms) : 2291, 2378 . : milestone, 2334, iast (2.098 ms) : 2043, 2153 . : milestone, 2098, iast_GLOBAL (2.153 ms) : 2098, 2208 . : milestone, 2153, profiling (1.955 ms) : 1912, 1999 . : milestone, 1955, tracing (1.933 ms) : 1892, 1975 . : milestone, 1933, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.465 ms [1.454 ms, 1.476 ms] -
appsec 2.329 ms [2.286 ms, 2.372 ms] 864.013 µs (59.0%)
iast 2.104 ms [2.049 ms, 2.158 ms] 638.567 µs (43.6%)
iast_GLOBAL 2.147 ms [2.092 ms, 2.201 ms] 681.511 µs (46.5%)
profiling 1.976 ms [1.932 ms, 2.019 ms] 510.504 µs (34.8%)
tracing 1.94 ms [1.898 ms, 1.982 ms] 475.093 µs (32.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.334 ms [2.291 ms, 2.378 ms] 864.894 µs (58.9%)
iast 2.098 ms [2.043 ms, 2.153 ms] 628.491 µs (42.8%)
iast_GLOBAL 2.153 ms [2.098 ms, 2.208 ms] 683.109 µs (46.5%)
profiling 1.955 ms [1.912 ms, 1.999 ms] 485.937 µs (33.1%)
tracing 1.933 ms [1.892 ms, 1.975 ms] 463.85 µs (31.6%)
Execution time for biojava
gantt title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~aa4be16a8b, baseline=1.48.0-SNAPSHOT~71cbb065b9 dateFormat X axisFormat %s section baseline no_agent (15.414 s) : 15414000, 15414000 . : milestone, 15414000, appsec (14.819 s) : 14819000, 14819000 . : milestone, 14819000, iast (18.875 s) : 18875000, 18875000 . : milestone, 18875000, iast_GLOBAL (18.177 s) : 18177000, 18177000 . : milestone, 18177000, profiling (14.983 s) : 14983000, 14983000 . : milestone, 14983000, tracing (15.062 s) : 15062000, 15062000 . : milestone, 15062000, section candidate no_agent (15.573 s) : 15573000, 15573000 . : milestone, 15573000, appsec (15.065 s) : 15065000, 15065000 . : milestone, 15065000, iast (18.235 s) : 18235000, 18235000 . : milestone, 18235000, iast_GLOBAL (17.986 s) : 17986000, 17986000 . : milestone, 17986000, profiling (14.804 s) : 14804000, 14804000 . : milestone, 14804000, tracing (14.93 s) : 14930000, 14930000 . : milestone, 14930000, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.414 s [15.414 s, 15.414 s] -
appsec 14.819 s [14.819 s, 14.819 s] -595.0 ms (-3.9%)
iast 18.875 s [18.875 s, 18.875 s] 3.461 s (22.5%)
iast_GLOBAL 18.177 s [18.177 s, 18.177 s] 2.763 s (17.9%)
profiling 14.983 s [14.983 s, 14.983 s] -431.0 ms (-2.8%)
tracing 15.062 s [15.062 s, 15.062 s] -352.0 ms (-2.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.573 s [15.573 s, 15.573 s] -
appsec 15.065 s [15.065 s, 15.065 s] -508.0 ms (-3.3%)
iast 18.235 s [18.235 s, 18.235 s] 2.662 s (17.1%)
iast_GLOBAL 17.986 s [17.986 s, 17.986 s] 2.413 s (15.5%)
profiling 14.804 s [14.804 s, 14.804 s] -769.0 ms (-4.9%)
tracing 14.93 s [14.93 s, 14.93 s] -643.0 ms (-4.1%)
@jpbempel jpbempel added the tag: performance Performance related changes label Mar 7, 2025
// Quick validation of minimum class file size and magic number
if (classFileBytes == null
|| classFileBytes.length < 10
|| classFileBytes[0] != (byte) 0xCA
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CAFEBABE - leet

@jpbempel jpbempel merged commit 5d109aa into master Mar 10, 2025
217 of 220 checks passed
@jpbempel jpbempel deleted the jpbempel/optim-extract-source-file branch March 10, 2025 15:57
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 10, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle | minor | `11.6.0` -> `11.7.0` | | [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `3.10.2` -> `3.11.0` | | [com.squareup.okio:okio](https://github.com/square/okio) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `3.10.2` -> `3.11.0` | | [com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) | plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` -> `2.16.0` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.47.3` -> `1.48.1` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.47.3` -> `1.48.1` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | --- ### Release Notes <details> <summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary> ### [`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110) *2025-04-09* - Fix: Clear the deflater's byte array reference - New: Faster implementation of `String.decodeHex()` on Kotlin/JS. - New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use {}` and `FileSystem.read {}`. - Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20]. </details> <details> <summary>autonomousapps/dependency-analysis-android-gradle-plugin (com.autonomousapps.dependency-analysis)</summary> ### [`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160) - \[Feat]: support `com.android.test` projects. - \[Feat]: support typesafe project accessors with opt-in. ```kotlin dependencyAnalysis { useTypesafeProjectAccessors(true) // false by default } ``` </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.48.1`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.1): 1.48.1 ### Components #### Tracer internal logging - 🐛 Remove print line causing unnecessary logs ([#&#8203;8687](DataDog/dd-trace-java#8687) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) ### [`v1.48.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.0): 1.48.0 ### Known Bugs > \[!NOTE] > If you are experiencing issues with spamming timeout logs, please update to the [latest version](https://github.com/DataDog/dd-trace-java/releases/latest) or set [JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98) to false. ### Components #### Application Security Management (IAST) - ✨ Fix vulnerability location org.jose4j.lang.HashUtil ([#&#8203;8610](DataDog/dd-trace-java#8610) - [@&#8203;jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness in oracle.ucp.util.OpaqueString ([#&#8203;8609](DataDog/dd-trace-java#8609) - [@&#8203;jandro996](https://github.com/jandro996)) - ✨ Fix weak hash false positive in oracle.security.o5logon.O5Logon ([#&#8203;8608](DataDog/dd-trace-java#8608) - [@&#8203;jandro996](https://github.com/jandro996)) - 🐛 Prevent before callsites targeting constructors in super calls ([#&#8203;8549](DataDog/dd-trace-java#8549) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Application Security Management (WAF) - ✨ Update login events public SDK to V2 ([#&#8203;8620](DataDog/dd-trace-java#8620) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#&#8203;8573](DataDog/dd-trace-java#8573) - [@&#8203;jandro996](https://github.com/jandro996)) - ✨ Improve detection of missing request end events ([#&#8203;8510](DataDog/dd-trace-java#8510) - [@&#8203;smola](https://github.com/smola)) - 🧹 Remove remote configuration for API Security sampling rate ([#&#8203;8486](DataDog/dd-trace-java#8486) - [@&#8203;smola](https://github.com/smola)) - ✨ Add setUser to user monitoring SDK ([#&#8203;8482](DataDog/dd-trace-java#8482) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add missing address for signup event ([#&#8203;8469](DataDog/dd-trace-java#8469) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Allow login events SDK to be used with appsec disabled ([#&#8203;8464](DataDog/dd-trace-java#8464) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add support for endpoint discovery in spring mvc ([#&#8203;8352](DataDog/dd-trace-java#8352) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ New API Security sampling algorithm ([#&#8203;8178](DataDog/dd-trace-java#8178) - [@&#8203;ValentinZakharov](https://github.com/ValentinZakharov)) #### Build & Tooling - ✨ Add buffer size customizability to JDK UDS support ([#&#8203;8629](DataDog/dd-trace-java#8629) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) - ✨ Add JDK built-in support for UDS on Java 16+ ([#&#8203;8314](DataDog/dd-trace-java#8314) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) #### Configuration at Runtime - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#&#8203;8573](DataDog/dd-trace-java#8573) - [@&#8203;jandro996](https://github.com/jandro996)) #### Continuous Integration Visibility - 🐛 Prevent double reporting of Scalatest events when using SBT with test forking ([#&#8203;8682](DataDog/dd-trace-java#8682) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Shutdown CI Visibility test event handlers before tracer ([#&#8203;8677](DataDog/dd-trace-java#8677) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Do not apply JUnit 4 instrumentation to MUnit runners ([#&#8203;8675](DataDog/dd-trace-java#8675), [#&#8203;8683](DataDog/dd-trace-java#8683) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Remove error log when source path resolution fails on isModified check ([#&#8203;8663](DataDog/dd-trace-java#8663) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement tests reordering for JUnit 4 ([#&#8203;8650](DataDog/dd-trace-java#8650) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Set default Attempt to Fix retries if none provided from the backend ([#&#8203;8615](DataDog/dd-trace-java#8615) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Allow to manually set PR info ([#&#8203;8566](DataDog/dd-trace-java#8566) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Test Optimization init when repo root cannot be determined ([#&#8203;8533](DataDog/dd-trace-java#8533) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add capabilities tagging ([#&#8203;8499](DataDog/dd-trace-java#8499), [#&#8203;8540](DataDog/dd-trace-java#8540) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - 🐛 Remove dependency on bash from crash/oome uploder scripts ([#&#8203;8652](DataDog/dd-trace-java#8652) - [@&#8203;jbachorik](https://github.com/jbachorik)) #### Data Streams Monitoring - ✨ e2e pipeline configuration when data jobs is enabled ([#&#8203;8553](DataDog/dd-trace-java#8553) - [@&#8203;kr-igor](https://github.com/kr-igor)) #### Dynamic Instrumentation - 🐛 Fix In-Product when config is empty ([#&#8203;8679](DataDog/dd-trace-java#8679) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add support for filtering shaded third-party libs ([#&#8203;8612](DataDog/dd-trace-java#8612) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add In-Product Enablement ([#&#8203;8587](DataDog/dd-trace-java#8587) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨⚡ Reduce footprint of SourceFile tracking ([#&#8203;8524](DataDog/dd-trace-java#8524) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨⚡ Optimize the SourceFile tracking ([#&#8203;8520](DataDog/dd-trace-java#8520) - [@&#8203;jpbempel](https://github.com/jpbempel)) #### OpenTracing - 🧹 Remove activeScope() use in OpenTracing shim ([#&#8203;8478](DataDog/dd-trace-java#8478) - [@&#8203;mcculls](https://github.com/mcculls)) #### Profiling - ✨ Add profiler env check command to AgentCLI ([#&#8203;8671](DataDog/dd-trace-java#8671) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.23.0 ([#&#8203;8668](DataDog/dd-trace-java#8668) - [@&#8203;jbachorik](https://github.com/jbachorik)) - Fix a crash related to ElfParser::loadSymbolTable ([#&#8203;191](DataDog/dd-trace-java#191)) by [@&#8203;yanglong1010](https://github.com/yanglong1010) in DataDog/java-profiler#192 - Unwind String.indexOf intrinsic on AArch64 by [@&#8203;MattAlp](https://github.com/MattAlp) in DataDog/java-profiler#193 - Fix Java 24 support by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#194 - A set of fixes related to clang, aarch64 and musl pecularities of vmstructs stack unwinder by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#199 - 🐛 Remove process information from JFR recording ([#&#8203;8661](DataDog/dd-trace-java#8661) - [@&#8203;r1viollet](https://github.com/r1viollet)) - 🐛 Make TempLocationManager USER aware ([#&#8203;8605](DataDog/dd-trace-java#8605) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#&#8203;8561](DataDog/dd-trace-java#8561) - [@&#8203;wmouchere](https://github.com/wmouchere)) #### Telemetry - 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics ([#&#8203;8624](DataDog/dd-trace-java#8624) - [@&#8203;jandro996](https://github.com/jandro996)) - ✨ Create metric: appsec.rasp.rule.skipped ([#&#8203;8618](DataDog/dd-trace-java#8618) - [@&#8203;jandro996](https://github.com/jandro996)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#&#8203;8561](DataDog/dd-trace-java#8561) - [@&#8203;wmouchere](https://github.com/wmouchere)) #### Testing - 🧹 Simplify ssi tests one-pipeline ([#&#8203;8558](DataDog/dd-trace-java#8558) - [@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel)) - ✨ Add smoke tests for java's concurrent API ([#&#8203;8438](DataDog/dd-trace-java#8438) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) #### Trace context propagation - ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT` ([#&#8203;8535](DataDog/dd-trace-java#8535) - [@&#8203;mhlidd](https://github.com/mhlidd)) #### Tracer core - 🐛 Ensure shaded helpers have unique names ([#&#8203;8559](DataDog/dd-trace-java#8559) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Support common config sources for user-provided git info ([#&#8203;8547](DataDog/dd-trace-java#8547) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Make the default config sources more robust when a security manager is installed ([#&#8203;8544](DataDog/dd-trace-java#8544) - [@&#8203;mcculls](https://github.com/mcculls)) - ✨ Support targeting services with configurations in stable configuration file ([#&#8203;8526](DataDog/dd-trace-java#8526) - [@&#8203;mtoffl01](https://github.com/mtoffl01)) - ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE` ([#&#8203;8296](DataDog/dd-trace-java#8296) - [@&#8203;mhlidd](https://github.com/mhlidd)) #### Tracer internal logging - 🐛 Add missing debug log for the cloudPayloadTaggingServices config ([#&#8203;8600](DataDog/dd-trace-java#8600) - [@&#8203;ygree](https://github.com/ygree)) - ✨ Add the possibility to output the logs of the Java tracer in JSON ([#&#8203;8083](DataDog/dd-trace-java#8083) - [@&#8203;cecile75](https://github.com/cecile75)) #### Tracer public API - ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config ([#&#8203;8536](DataDog/dd-trace-java#8536) - [@&#8203;mhlidd](https://github.com/mhlidd)) - ✨ Config Consistency Round 2 ([#&#8203;8489](DataDog/dd-trace-java#8489) - [@&#8203;mhlidd](https://github.com/mhlidd)) ### Instrumentations #### - 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation ([#&#8203;8599](DataDog/dd-trace-java#8599) - [@&#8203;ygree](https://github.com/ygree)) #### Apache Spark instrumentation - ✨ Instrument Runtime.exit() to finish spark application spans ([#&#8203;8572](DataDog/dd-trace-java#8572) - [@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd)) - ✨ Configure OpenLineage if present in Spark instrumentation ([#&#8203;8541](DataDog/dd-trace-java#8541) - [@&#8203;mobuchowski](https://github.com/mobuchowski)) #### Armeria Instrumentation - ✨ Support armeria grpc 1.32.3 ([#&#8203;8606](DataDog/dd-trace-java#8606) - [@&#8203;github-actions](https://github.com/github-actions)\[bot]) #### AWS DynamoDB Instrumentation - ✨ Create DynamoDB instrumentation + add span pointers for `updateItem` and `deleteItem` ([#&#8203;8490](DataDog/dd-trace-java#8490) - [@&#8203;nhulston](https://github.com/nhulston)) #### AWS SDK instrumentation - ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES ([#&#8203;8595](DataDog/dd-trace-java#8595) - [@&#8203;joeyzhao2018](https://github.com/joeyzhao2018)) #### Azure Functions instrumentation - ✨ Enable tracer computed trace metrics by default for Azure Functions ([#&#8203;8518](DataDog/dd-trace-java#8518) - [@&#8203;duncanpharvey](https://github.com/duncanpharvey)) - 💡 Add azure-functions instrumentation ([#&#8203;8432](DataDog/dd-trace-java#8432) - [@&#8203;duncanpharvey](https://github.com/duncanpharvey)) #### Core Java language instrumentation - 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+ ([#&#8203;8560](DataDog/dd-trace-java#8560) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) #### Eclipse Vert.x instrumentation - ✨ Add vertx postgresql client instrumentation ([#&#8203;8471](DataDog/dd-trace-java#8471) - [@&#8203;vandonr](https://github.com/vandonr) - thanks for the contribution!) #### Kafka instrumentation - ✨ Support and test kafka-clients 4 ([#&#8203;8581](DataDog/dd-trace-java#8581) - [@&#8203;amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - ✨ Avoid disconnected traces when using Kotlin flowOn ([#&#8203;8651](DataDog/dd-trace-java#8651) - [@&#8203;mcculls](https://github.com/mcculls)) #### OpenTelemetry instrumentation - 🧹 Migrate OtelContext wrapper to new internal Context API ([#&#8203;8645](DataDog/dd-trace-java#8645) - [@&#8203;mcculls](https://github.com/mcculls)) #### Spring instrumentation - 🐛 Support CompletableFuture on spring webmvc controllers ([#&#8203;8659](DataDog/dd-trace-java#8659) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Add support for endpoint discovery in spring mvc ([#&#8203;8352](DataDog/dd-trace-java#8352) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### WebSocket Instrumentation - ✨ Instrument Jetty websocket pojo ([#&#8203;8562](DataDog/dd-trace-java#8562) - [@&#8203;amarziali](https://github.com/amarziali)) - 💡 Instrument Java Websocket API (JSR356) ([#&#8203;8440](DataDog/dd-trace-java#8440) - [@&#8203;amarziali](https://github.com/amarziali)) #### All other instrumentations - ✨ Introduce cache for peer.hostname lookup ([#&#8203;8601](DataDog/dd-trace-java#8601) - [@&#8203;mcculls](https://github.com/mcculls)) - ✨ Support pekko http 1.1 ([#&#8203;8532](DataDog/dd-trace-java#8532) - [@&#8203;amarziali](https://github.com/amarziali)) </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**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: debugger Dynamic Instrumentation tag: performance Performance related changes type: enhancement Enhancements and improvements

2 participants