Skip to content

Conversation

@jpbempel
Copy link
Member

@jpbempel jpbempel commented Apr 9, 2025

What Does This Do

Source file tracking is enqueueing classfile buffer to be processed by a background thread avoiding startup delay.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3649

@jpbempel jpbempel force-pushed the jpbempel/async-sourcefile-tracking branch from 5bba9f0 to 0054e81 Compare April 9, 2025 11:02
@pr-commenter
Copy link

pr-commenter bot commented Apr 9, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1745315659 1745316040
end_time 2025-04-22T09:55:37 2025-04-22T10:01:57
git_branch master jpbempel/async-sourcefile-tracking
git_commit_sha 7dc621f 17d3483
start_time 2025-04-22T09:54:20 2025-04-22T10:00:41
See matching parameters
Baseline Candidate
ci_job_id 906183708 906183708
ci_pipeline_id 62875165 62875165
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1745314483 1745314483

Summary

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

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
[-32.274µs; +21.888µs] or [-11.643%; +7.896%]
unstable
[-51.650µs; +24.174µs] or [-16.053%; +7.513%]
unstable
[-71.218µs; +30.864µs] or [-20.887%; +9.052%]
unstable
[-132.856µs; +80.780µs] or [-21.433%; +13.032%]
same
scenario:basic same same same unstable
[-24.697µs; +62.998µs] or [-4.633%; +11.818%]
same
scenario:loop unsure
[+31.256µs; +209.238µs] or [+0.296%; +1.980%]
unsure
[+12.629µs; +203.598µs] or [+0.117%; +1.892%]
same same 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 (321.742 µs) : 277, 367
.   : milestone, 322,
basic (314.29 µs) : 305, 324
.   : milestone, 314,
loop (10.758 ms) : 10636, 10881
.   : milestone, 10758,
section candidate
noprobe (308.004 µs) : 284, 332
.   : milestone, 308,
basic (308.434 µs) : 301, 316
.   : milestone, 308,
loop (10.867 ms) : 10839, 10894
.   : milestone, 10867,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 321.742 µs [276.552 µs, 366.933 µs]
basic 314.29 µs [304.861 µs, 323.719 µs]
loop 10.758 ms [10.636 ms, 10.881 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 308.004 µs [284.165 µs, 331.843 µs]
basic 308.434 µs [300.664 µs, 316.204 µs]
loop 10.867 ms [10.839 ms, 10.894 ms]

@pr-commenter
Copy link

pr-commenter bot commented Apr 9, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/async-sourcefile-tracking
git_commit_date 1745246084 1745314483
git_commit_sha 7dc621f 17d3483
release_version 1.49.0-SNAPSHOT~7dc621f3bb 1.49.0-SNAPSHOT~17d3483b11
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745317507 1745317507
ci_job_id 906183702 906183702
ci_pipeline_id 62875165 62875165
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qq1dukw9-project-304-concurrent-0-0cu9ln5l 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-qq1dukw9-project-304-concurrent-0-0cu9ln5l 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 8 performance improvements and 7 performance regressions! Performance is the same for 48 metrics, 8 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:Debugger worse
[+1.420ms; +1.701ms] or [+33.435%; +40.048%]
5.809ms 4.248ms
scenario:startup:insecure-bank:iast:Telemetry better
[-1024.767µs; -619.253µs] or [-11.645%; -7.037%]
7.978ms 8.800ms
scenario:startup:insecure-bank:iast_HARDCODED_SECRET_DISABLED:Debugger worse
[+1.470ms; +1.749ms] or [+34.656%; +41.237%]
5.850ms 4.241ms
scenario:startup:insecure-bank:iast_HARDCODED_SECRET_DISABLED:Telemetry better
[-834.844µs; -438.507µs] or [-9.594%; -5.039%]
8.065ms 8.702ms
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Debugger worse
[+1.533ms; +1.725ms] or [+36.900%; +41.528%]
5.782ms 4.153ms
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Remote Config better
[-65.849µs; -22.152µs] or [-10.602%; -3.566%]
577.132µs 621.133µs
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Telemetry better
[-986.838µs; -731.340µs] or [-11.421%; -8.464%]
7.782ms 8.641ms
scenario:startup:insecure-bank:tracing:Debugger worse
[+1.709ms; +1.934ms] or [+38.331%; +43.367%]
6.280ms 4.459ms
scenario:startup:petclinic:appsec:Telemetry better
[-850.784µs; -672.709µs] or [-10.394%; -8.219%]
7.423ms 8.185ms
scenario:startup:petclinic:iast:Debugger worse
[+1.545ms; +1.692ms] or [+36.705%; +40.215%]
5.827ms 4.208ms
scenario:startup:petclinic:iast:Telemetry better
[-872.419µs; -609.188µs] or [-10.054%; -7.020%]
7.937ms 8.677ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-21.654ms; -11.300ms] or [-5.755%; -3.003%]
359.769ms 376.246ms
scenario:startup:petclinic:profiling:Debugger worse
[+1.611ms; +1.865ms] or [+36.973%; +42.786%]
6.097ms 4.358ms
scenario:startup:petclinic:profiling:Telemetry better
[-997.429µs; -539.768µs] or [-11.153%; -6.035%]
8.175ms 8.943ms
scenario:startup:petclinic:tracing:Debugger worse
[+1.848ms; +2.100ms] or [+42.523%; +48.304%]
6.321ms 4.347ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.075 s) : 0, 1074760
Total [baseline] (8.708 s) : 0, 8708078
Agent [candidate] (1.056 s) : 0, 1056161
Total [candidate] (8.68 s) : 0, 8679557
section iast
Agent [baseline] (1.193 s) : 0, 1193000
Total [baseline] (9.249 s) : 0, 9248650
Agent [candidate] (1.187 s) : 0, 1186552
Total [candidate] (9.23 s) : 0, 9229947
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.185 s) : 0, 1184958
Total [baseline] (9.229 s) : 0, 9229060
Agent [candidate] (1.194 s) : 0, 1194306
Total [candidate] (9.244 s) : 0, 9244436
section iast_TELEMETRY_OFF
Agent [baseline] (1.186 s) : 0, 1186008
Total [baseline] (9.261 s) : 0, 9260735
Agent [candidate] (1.187 s) : 0, 1186512
Total [candidate] (9.241 s) : 0, 9240584
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.075 s -
Agent iast 1.193 s 118.24 ms (11.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.185 s 110.198 ms (10.3%)
Agent iast_TELEMETRY_OFF 1.186 s 111.248 ms (10.4%)
Total tracing 8.708 s -
Total iast 9.249 s 540.572 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.229 s 520.982 ms (6.0%)
Total iast_TELEMETRY_OFF 9.261 s 552.657 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.187 s 130.39 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.194 s 138.145 ms (13.1%)
Agent iast_TELEMETRY_OFF 1.187 s 130.351 ms (12.3%)
Total tracing 8.68 s -
Total iast 9.23 s 550.391 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.244 s 564.88 ms (6.5%)
Total iast_TELEMETRY_OFF 9.241 s 561.028 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (735.626 ms) : 0, 735626
BytebuddyAgent [candidate] (721.697 ms) : 0, 721697
GlobalTracer [baseline] (242.597 ms) : 0, 242597
GlobalTracer [candidate] (239.401 ms) : 0, 239401
AppSec [baseline] (55.192 ms) : 0, 55192
AppSec [candidate] (54.575 ms) : 0, 54575
Debugger [baseline] (4.459 ms) : 0, 4459
Debugger [candidate] (6.28 ms) : 0, 6280
Remote Config [baseline] (1.424 ms) : 0, 1424
Remote Config [candidate] (716.54 µs) : 0, 717
Telemetry [baseline] (11.584 ms) : 0, 11584
Telemetry [candidate] (12.705 ms) : 0, 12705
section iast
BytebuddyAgent [baseline] (846.009 ms) : 0, 846009
BytebuddyAgent [candidate] (842.518 ms) : 0, 842518
GlobalTracer [baseline] (230.776 ms) : 0, 230776
GlobalTracer [candidate] (230.199 ms) : 0, 230199
IAST [baseline] (24.653 ms) : 0, 24653
IAST [candidate] (23.577 ms) : 0, 23577
AppSec [baseline] (54.462 ms) : 0, 54462
AppSec [candidate] (55.108 ms) : 0, 55108
Debugger [baseline] (4.248 ms) : 0, 4248
Debugger [candidate] (5.809 ms) : 0, 5809
Remote Config [baseline] (606.058 µs) : 0, 606
Remote Config [candidate] (602.768 µs) : 0, 603
Telemetry [baseline] (8.8 ms) : 0, 8800
Telemetry [candidate] (7.978 ms) : 0, 7978
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (839.621 ms) : 0, 839621
BytebuddyAgent [candidate] (848.574 ms) : 0, 848574
GlobalTracer [baseline] (229.67 ms) : 0, 229670
GlobalTracer [candidate] (231.246 ms) : 0, 231246
IAST [baseline] (23.662 ms) : 0, 23662
IAST [candidate] (22.882 ms) : 0, 22882
AppSec [baseline] (55.135 ms) : 0, 55135
AppSec [candidate] (56.15 ms) : 0, 56150
Debugger [baseline] (4.241 ms) : 0, 4241
Debugger [candidate] (5.85 ms) : 0, 5850
Remote Config [baseline] (605.518 µs) : 0, 606
Remote Config [candidate] (603.969 µs) : 0, 604
Telemetry [baseline] (8.702 ms) : 0, 8702
Telemetry [candidate] (8.065 ms) : 0, 8065
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (840.82 ms) : 0, 840820
BytebuddyAgent [candidate] (843.263 ms) : 0, 843263
GlobalTracer [baseline] (230.152 ms) : 0, 230152
GlobalTracer [candidate] (230.04 ms) : 0, 230040
IAST [baseline] (22.54 ms) : 0, 22540
IAST [candidate] (22.451 ms) : 0, 22451
AppSec [baseline] (55.582 ms) : 0, 55582
AppSec [candidate] (55.826 ms) : 0, 55826
Debugger [baseline] (4.153 ms) : 0, 4153
Debugger [candidate] (5.782 ms) : 0, 5782
Remote Config [baseline] (621.133 µs) : 0, 621
Remote Config [candidate] (577.132 µs) : 0, 577
Telemetry [baseline] (8.641 ms) : 0, 8641
Telemetry [candidate] (7.782 ms) : 0, 7782
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056997
Total [baseline] (10.519 s) : 0, 10518763
Agent [candidate] (1.059 s) : 0, 1059103
Total [candidate] (10.503 s) : 0, 10503367
section appsec
Agent [baseline] (1.195 s) : 0, 1194648
Total [baseline] (10.769 s) : 0, 10768520
Agent [candidate] (1.197 s) : 0, 1196753
Total [candidate] (10.711 s) : 0, 10711002
section iast
Agent [baseline] (1.187 s) : 0, 1187043
Total [baseline] (11.068 s) : 0, 11068387
Agent [candidate] (1.184 s) : 0, 1183596
Total [candidate] (10.892 s) : 0, 10892278
section profiling
Agent [baseline] (1.319 s) : 0, 1319381
Total [baseline] (10.986 s) : 0, 10986066
Agent [candidate] (1.299 s) : 0, 1298893
Total [candidate] (10.805 s) : 0, 10804952
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.195 s 137.651 ms (13.0%)
Agent iast 1.187 s 130.046 ms (12.3%)
Agent profiling 1.319 s 262.384 ms (24.8%)
Total tracing 10.519 s -
Total appsec 10.769 s 249.756 ms (2.4%)
Total iast 11.068 s 549.624 ms (5.2%)
Total profiling 10.986 s 467.303 ms (4.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.197 s 137.65 ms (13.0%)
Agent iast 1.184 s 124.492 ms (11.8%)
Agent profiling 1.299 s 239.789 ms (22.6%)
Total tracing 10.503 s -
Total appsec 10.711 s 207.635 ms (2.0%)
Total iast 10.892 s 388.911 ms (3.7%)
Total profiling 10.805 s 301.585 ms (2.9%)
gantt
    title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.58 ms) : 0, 720580
BytebuddyAgent [candidate] (722.938 ms) : 0, 722938
GlobalTracer [baseline] (239.226 ms) : 0, 239226
GlobalTracer [candidate] (239.561 ms) : 0, 239561
AppSec [baseline] (56.632 ms) : 0, 56632
AppSec [candidate] (54.564 ms) : 0, 54564
Debugger [baseline] (4.347 ms) : 0, 4347
Debugger [candidate] (6.321 ms) : 0, 6321
Remote Config [baseline] (690.377 µs) : 0, 690
Remote Config [candidate] (710.934 µs) : 0, 711
Telemetry [baseline] (12.059 ms) : 0, 12059
Telemetry [candidate] (14.139 ms) : 0, 14139
section appsec
BytebuddyAgent [baseline] (737.687 ms) : 0, 737687
BytebuddyAgent [candidate] (739.475 ms) : 0, 739475
GlobalTracer [baseline] (234.942 ms) : 0, 234942
GlobalTracer [candidate] (235.667 ms) : 0, 235667
AppSec [baseline] (174.794 ms) : 0, 174794
AppSec [candidate] (175.867 ms) : 0, 175867
Debugger [baseline] (4.195 ms) : 0, 4195
Debugger [candidate] (6.315 ms) : 0, 6315
Remote Config [baseline] (632.602 µs) : 0, 633
Remote Config [candidate] (623.911 µs) : 0, 624
Telemetry [baseline] (8.185 ms) : 0, 8185
Telemetry [candidate] (7.423 ms) : 0, 7423
IAST [baseline] (21.728 ms) : 0, 21728
IAST [candidate] (21.373 ms) : 0, 21373
section iast
BytebuddyAgent [baseline] (840.534 ms) : 0, 840534
BytebuddyAgent [candidate] (840.234 ms) : 0, 840234
GlobalTracer [baseline] (230.497 ms) : 0, 230497
GlobalTracer [candidate] (229.499 ms) : 0, 229499
AppSec [baseline] (54.7 ms) : 0, 54700
AppSec [candidate] (56.123 ms) : 0, 56123
Debugger [baseline] (4.208 ms) : 0, 4208
Debugger [candidate] (5.827 ms) : 0, 5827
Remote Config [baseline] (606.285 µs) : 0, 606
Remote Config [candidate] (594.31 µs) : 0, 594
Telemetry [baseline] (8.677 ms) : 0, 8677
Telemetry [candidate] (7.937 ms) : 0, 7937
IAST [baseline] (24.456 ms) : 0, 24456
IAST [candidate] (22.623 ms) : 0, 22623
section profiling
BytebuddyAgent [baseline] (721.798 ms) : 0, 721798
BytebuddyAgent [candidate] (716.457 ms) : 0, 716457
GlobalTracer [baseline] (376.246 ms) : 0, 376246
GlobalTracer [candidate] (359.769 ms) : 0, 359769
AppSec [baseline] (54.156 ms) : 0, 54156
AppSec [candidate] (53.346 ms) : 0, 53346
Debugger [baseline] (4.358 ms) : 0, 4358
Debugger [candidate] (6.097 ms) : 0, 6097
Remote Config [baseline] (663.439 µs) : 0, 663
Remote Config [candidate] (694.138 µs) : 0, 694
Telemetry [baseline] (8.943 ms) : 0, 8943
Telemetry [candidate] (8.175 ms) : 0, 8175
ProfilingAgent [baseline] (102.244 ms) : 0, 102244
ProfilingAgent [candidate] (106.057 ms) : 0, 106057
Profiling [baseline] (102.269 ms) : 0, 102269
Profiling [candidate] (106.082 ms) : 0, 106082
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-22T09:55:23 2025-04-22T10:03:10
git_branch master jpbempel/async-sourcefile-tracking
git_commit_date 1745246084 1745314483
git_commit_sha 7dc621f 17d3483
release_version 1.49.0-SNAPSHOT~7dc621f3bb 1.49.0-SNAPSHOT~17d3483b11
start_time 2025-04-22T09:55:08 2025-04-22T10:02:56
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745316589 1745316589
ci_job_id 906183703 906183703
ci_pipeline_id 62875165 62875165
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-anyxsslb-project-304-concurrent-0-y4hs7mr2 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-anyxsslb-project-304-concurrent-0-y4hs7mr2 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.372 ms) : 1352, 1392
.   : milestone, 1372,
appsec (1.752 ms) : 1729, 1775
.   : milestone, 1752,
appsec_no_iast (1.751 ms) : 1726, 1775
.   : milestone, 1751,
code_origins (1.73 ms) : 1703, 1758
.   : milestone, 1730,
iast (1.522 ms) : 1498, 1547
.   : milestone, 1522,
profiling (1.583 ms) : 1559, 1608
.   : milestone, 1583,
tracing (1.491 ms) : 1466, 1515
.   : milestone, 1491,
section candidate
no_agent (1.356 ms) : 1336, 1376
.   : milestone, 1356,
appsec (1.732 ms) : 1709, 1756
.   : milestone, 1732,
appsec_no_iast (1.728 ms) : 1705, 1751
.   : milestone, 1728,
code_origins (1.69 ms) : 1663, 1717
.   : milestone, 1690,
iast (1.507 ms) : 1483, 1531
.   : milestone, 1507,
profiling (1.562 ms) : 1538, 1587
.   : milestone, 1562,
tracing (1.504 ms) : 1479, 1528
.   : milestone, 1504,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.372 ms [1.352 ms, 1.392 ms] -
appsec 1.752 ms [1.729 ms, 1.775 ms] 380.031 µs (27.7%)
appsec_no_iast 1.751 ms [1.726 ms, 1.775 ms] 378.988 µs (27.6%)
code_origins 1.73 ms [1.703 ms, 1.758 ms] 358.693 µs (26.1%)
iast 1.522 ms [1.498 ms, 1.547 ms] 150.625 µs (11.0%)
profiling 1.583 ms [1.559 ms, 1.608 ms] 211.608 µs (15.4%)
tracing 1.491 ms [1.466 ms, 1.515 ms] 118.858 µs (8.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.336 ms, 1.376 ms] -
appsec 1.732 ms [1.709 ms, 1.756 ms] 376.767 µs (27.8%)
appsec_no_iast 1.728 ms [1.705 ms, 1.751 ms] 372.17 µs (27.5%)
code_origins 1.69 ms [1.663 ms, 1.717 ms] 334.587 µs (24.7%)
iast 1.507 ms [1.483 ms, 1.531 ms] 151.581 µs (11.2%)
profiling 1.562 ms [1.538 ms, 1.587 ms] 206.57 µs (15.2%)
tracing 1.504 ms [1.479 ms, 1.528 ms] 147.972 µs (10.9%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb
    dateFormat X
    axisFormat %s
section baseline
no_agent (386.544 µs) : 367, 406
.   : milestone, 387,
iast (516.724 µs) : 495, 538
.   : milestone, 517,
iast_FULL (732.743 µs) : 711, 755
.   : milestone, 733,
iast_GLOBAL (560.133 µs) : 538, 582
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (517.741 µs) : 496, 539
.   : milestone, 518,
iast_INACTIVE (466.052 µs) : 444, 488
.   : milestone, 466,
iast_TELEMETRY_OFF (504.57 µs) : 483, 526
.   : milestone, 505,
tracing (465.651 µs) : 444, 487
.   : milestone, 466,
section candidate
no_agent (389.489 µs) : 369, 410
.   : milestone, 389,
iast (518.799 µs) : 496, 542
.   : milestone, 519,
iast_FULL (734.344 µs) : 711, 758
.   : milestone, 734,
iast_GLOBAL (561.171 µs) : 538, 584
.   : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (531.285 µs) : 508, 554
.   : milestone, 531,
iast_INACTIVE (464.729 µs) : 443, 486
.   : milestone, 465,
iast_TELEMETRY_OFF (518.426 µs) : 495, 542
.   : milestone, 518,
tracing (460.466 µs) : 439, 482
.   : milestone, 460,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 386.544 µs [366.742 µs, 406.346 µs] -
iast 516.724 µs [495.272 µs, 538.176 µs] 130.18 µs (33.7%)
iast_FULL 732.743 µs [710.743 µs, 754.742 µs] 346.199 µs (89.6%)
iast_GLOBAL 560.133 µs [538.435 µs, 581.83 µs] 173.589 µs (44.9%)
iast_HARDCODED_SECRET_DISABLED 517.741 µs [495.984 µs, 539.499 µs] 131.198 µs (33.9%)
iast_INACTIVE 466.052 µs [444.452 µs, 487.652 µs] 79.508 µs (20.6%)
iast_TELEMETRY_OFF 504.57 µs [482.905 µs, 526.235 µs] 118.026 µs (30.5%)
tracing 465.651 µs [444.266 µs, 487.037 µs] 79.107 µs (20.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.489 µs [368.984 µs, 409.994 µs] -
iast 518.799 µs [495.52 µs, 542.077 µs] 129.309 µs (33.2%)
iast_FULL 734.344 µs [710.77 µs, 757.918 µs] 344.855 µs (88.5%)
iast_GLOBAL 561.171 µs [538.116 µs, 584.227 µs] 171.682 µs (44.1%)
iast_HARDCODED_SECRET_DISABLED 531.285 µs [508.288 µs, 554.283 µs] 141.796 µs (36.4%)
iast_INACTIVE 464.729 µs [443.382 µs, 486.076 µs] 75.24 µs (19.3%)
iast_TELEMETRY_OFF 518.426 µs [495.136 µs, 541.715 µs] 128.936 µs (33.1%)
tracing 460.466 µs [439.084 µs, 481.847 µs] 70.976 µs (18.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/async-sourcefile-tracking
git_commit_date 1745246084 1745314483
git_commit_sha 7dc621f 17d3483
release_version 1.49.0-SNAPSHOT~7dc621f3bb 1.49.0-SNAPSHOT~17d3483b11
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1745317091 1745317091
ci_job_id 906183704 906183704
ci_pipeline_id 62875165 62875165
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zx3nujs5-project-304-concurrent-0-m06n2rhy 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zx3nujs5-project-304-concurrent-0-m06n2rhy 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.471 ms) : 1460, 1483
.   : milestone, 1471,
appsec (2.34 ms) : 2297, 2383
.   : milestone, 2340,
iast (2.112 ms) : 2057, 2168
.   : milestone, 2112,
iast_GLOBAL (2.157 ms) : 2102, 2212
.   : milestone, 2157,
profiling (1.963 ms) : 1919, 2007
.   : milestone, 1963,
tracing (1.949 ms) : 1906, 1991
.   : milestone, 1949,
section candidate
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.345 ms) : 2301, 2388
.   : milestone, 2345,
iast (2.116 ms) : 2061, 2172
.   : milestone, 2116,
iast_GLOBAL (2.166 ms) : 2110, 2223
.   : milestone, 2166,
profiling (1.969 ms) : 1925, 2012
.   : milestone, 1969,
tracing (1.951 ms) : 1908, 1993
.   : milestone, 1951,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.46 ms, 1.483 ms] -
appsec 2.34 ms [2.297 ms, 2.383 ms] 868.782 µs (59.1%)
iast 2.112 ms [2.057 ms, 2.168 ms] 641.157 µs (43.6%)
iast_GLOBAL 2.157 ms [2.102 ms, 2.212 ms] 685.791 µs (46.6%)
profiling 1.963 ms [1.919 ms, 2.007 ms] 491.539 µs (33.4%)
tracing 1.949 ms [1.906 ms, 1.991 ms] 477.539 µs (32.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.345 ms [2.301 ms, 2.388 ms] 875.032 µs (59.5%)
iast 2.116 ms [2.061 ms, 2.172 ms] 646.68 µs (44.0%)
iast_GLOBAL 2.166 ms [2.11 ms, 2.223 ms] 696.707 µs (47.4%)
profiling 1.969 ms [1.925 ms, 2.012 ms] 498.728 µs (33.9%)
tracing 1.951 ms [1.908 ms, 1.993 ms] 481.052 µs (32.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~17d3483b11, baseline=1.49.0-SNAPSHOT~7dc621f3bb
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.912 s) : 14912000, 14912000
.   : milestone, 14912000,
appsec (15.075 s) : 15075000, 15075000
.   : milestone, 15075000,
iast (19.062 s) : 19062000, 19062000
.   : milestone, 19062000,
iast_GLOBAL (17.867 s) : 17867000, 17867000
.   : milestone, 17867000,
profiling (15.606 s) : 15606000, 15606000
.   : milestone, 15606000,
tracing (15.08 s) : 15080000, 15080000
.   : milestone, 15080000,
section candidate
no_agent (15.639 s) : 15639000, 15639000
.   : milestone, 15639000,
appsec (14.993 s) : 14993000, 14993000
.   : milestone, 14993000,
iast (18.378 s) : 18378000, 18378000
.   : milestone, 18378000,
iast_GLOBAL (17.919 s) : 17919000, 17919000
.   : milestone, 17919000,
profiling (15.043 s) : 15043000, 15043000
.   : milestone, 15043000,
tracing (14.909 s) : 14909000, 14909000
.   : milestone, 14909000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.912 s [14.912 s, 14.912 s] -
appsec 15.075 s [15.075 s, 15.075 s] 163.0 ms (1.1%)
iast 19.062 s [19.062 s, 19.062 s] 4.15 s (27.8%)
iast_GLOBAL 17.867 s [17.867 s, 17.867 s] 2.955 s (19.8%)
profiling 15.606 s [15.606 s, 15.606 s] 694.0 ms (4.7%)
tracing 15.08 s [15.08 s, 15.08 s] 168.0 ms (1.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.639 s [15.639 s, 15.639 s] -
appsec 14.993 s [14.993 s, 14.993 s] -646.0 ms (-4.1%)
iast 18.378 s [18.378 s, 18.378 s] 2.739 s (17.5%)
iast_GLOBAL 17.919 s [17.919 s, 17.919 s] 2.28 s (14.6%)
profiling 15.043 s [15.043 s, 15.043 s] -596.0 ms (-3.8%)
tracing 14.909 s [14.909 s, 14.909 s] -730.0 ms (-4.7%)

@jpbempel jpbempel force-pushed the jpbempel/async-sourcefile-tracking branch 4 times, most recently from bc1d41e to bf97f2a Compare April 10, 2025 10:19
Source file tracking is enqueueing classfile buffer to be processed
by a background thread avoiding startup delay.
@jpbempel jpbempel force-pushed the jpbempel/async-sourcefile-tracking branch from 248ce23 to b7dfe24 Compare April 11, 2025 17:48
@jpbempel jpbempel marked this pull request as ready for review April 22, 2025 13:17
@jpbempel jpbempel requested a review from a team as a code owner April 22, 2025 13:17
@jpbempel jpbempel requested review from shatzi and removed request for a team April 22, 2025 13:17
@github-actions
Copy link
Contributor

github-actions bot commented Apr 22, 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 Apr 22, 2025
@jpbempel jpbempel merged commit 4a7f585 into master Apr 24, 2025
265 of 268 checks passed
@jpbempel jpbempel deleted the jpbempel/async-sourcefile-tracking branch April 24, 2025 06:33
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 24, 2025
sezen-datadog pushed a commit that referenced this pull request Apr 25, 2025
Source file tracking is enqueueing classfile buffer to be processed
by a background thread avoiding startup delay.
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request May 7, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`3.22.2` -> `3.22.3` |
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.28.0` -> `2.28.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.48.2` -> `1.49.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |

---

### Release Notes

<details>
<summary>googleapis/java-logging
(com.google.cloud:google-cloud-logging)</summary>

###
[`v3.22.3`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3223-2025-05-06)

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.56.3
([844f4fa](googleapis/java-logging@844f4fa))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.46.3
([#&#8203;1801](googleapis/java-logging#1801))
([d7aa7bc](googleapis/java-logging@d7aa7bc))
- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1803](googleapis/java-logging#1803))
([5967ffe](googleapis/java-logging@5967ffe))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1804](googleapis/java-logging#1804))
([e9a27ec](googleapis/java-logging@e9a27ec))

</details>

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.28.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2281-2025-05-06)

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1841](googleapis/java-datastore#1841))
([ac393e6](googleapis/java-datastore@ac393e6))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1842](googleapis/java-datastore#1842))
([0745906](googleapis/java-datastore@0745906))

</details>

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.49.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.49.0):
1.49.0

### Components

#### Configuration at Runtime

- ✨ Add process tags as list to remote config payload
([#&#8203;8705](DataDog/dd-trace-java#8705) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Continuous Integration Visibility

- 🐛 Add span propagation for Pekko scheduled tasks
([#&#8203;8765](DataDog/dd-trace-java#8765) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Update test.retry_reason to use full name of the feature
([#&#8203;8689](DataDog/dd-trace-java#8689) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Remove unused TestEventsHandler methods
([#&#8203;8674](DataDog/dd-trace-java#8674) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

#### Dynamic Instrumentation

- 🐛 Fix exclude identifiers normalization
([#&#8203;8742](DataDog/dd-trace-java#8742) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Make source file tracking asynchronous
([#&#8203;8684](DataDog/dd-trace-java#8684) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add scope filtering for symbol extraction
([#&#8203;8676](DataDog/dd-trace-java#8676) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for [@&#8203;key](https://github.com/key) and
[@&#8203;value](https://github.com/value) for Map filtering
([#&#8203;8669](DataDog/dd-trace-java#8669) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Library Injection

- ✨ Add system property to force injection of the tracing
library even though multiple javaagents have been detected
([#&#8203;8697](DataDog/dd-trace-java#8697) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Metrics

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Profiling

- ✨ Bump ddprof-java to 1.25.1
([#&#8203;8750](DataDog/dd-trace-java#8750) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Remove cleanup-on-shutdown for temporary files
([#&#8203;8746](DataDog/dd-trace-java#8746) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨⚡ Replace a regex-based SMAP parser with a hand-crafted
one
([#&#8203;8730](DataDog/dd-trace-java#8730) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Improve error reporting on profiler startup
([#&#8203;8714](DataDog/dd-trace-java#8714) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Exclude ProxyLeakTask exception from exception profiling
([#&#8203;8666](DataDog/dd-trace-java#8666) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Telemetry

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))
- 🐛 Fix appsec.waf.requests telemetry metric
([#&#8203;8644](DataDog/dd-trace-java#8644) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Tracer core

- ✨ Exclude jackson afterburner dynamic classes from
instrumentation
([#&#8203;8747](DataDog/dd-trace-java#8747) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce Java 8 bytecode bridge for instrumentation API
([#&#8203;8736](DataDog/dd-trace-java#8736) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ⚡🧹 Use byte-buddy classes optimized for Java8+
([#&#8203;8735](DataDog/dd-trace-java#8735) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Do not set the hibernate or datanucleus span service name when
disabled
([#&#8203;8727](DataDog/dd-trace-java#8727) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Update bytebuddy and ASM to support JDK 24
([#&#8203;8720](DataDog/dd-trace-java#8720) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- 🐛 Turn off JDK socket support by default
([#&#8203;8715](DataDog/dd-trace-java#8715) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Log warning when trace buffer overflow occurs
([#&#8203;8712](DataDog/dd-trace-java#8712) -
[@&#8203;ygree](https://github.com/ygree))
- ✨🧪 Introducing an internal integration name
([#&#8203;8708](DataDog/dd-trace-java#8708) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add process tags to client stats payload
([#&#8203;8704](DataDog/dd-trace-java#8704) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Collect process tags for tracing
([#&#8203;8698](DataDog/dd-trace-java#8698) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config file: target system properties in
process_arguments and support template variables in YamlParser
([#&#8203;8690](DataDog/dd-trace-java#8690) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨⚡ Use prefix trie for proxy ignores
([#&#8203;8678](DataDog/dd-trace-java#8678) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Allow agent to be automatically injected when running aside
Log4J patch agent
([#&#8203;8648](DataDog/dd-trace-java#8648) -
[@&#8203;paullegranddc](https://github.com/paullegranddc))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Tracer internal logging

- 🐛 Delete print line
([#&#8203;8686](DataDog/dd-trace-java#8686) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

### Instrumentations

#### Akka instrumentation

- 🐛 Handle reentrant scope cleanup in Akka/Pekko actor
instrumentations
([#&#8203;8722](DataDog/dd-trace-java#8722) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Apache Spark instrumentation

- ✨ Use OpenLineage root parent information to generate trace
id ([#&#8203;8726](DataDog/dd-trace-java#8726)
- [@&#8203;mobuchowski](https://github.com/mobuchowski))
- ✨ Spark job cancellation no longer marks application as
failed
([#&#8203;8701](DataDog/dd-trace-java#8701) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))

#### JDBC instrumentation

- 💡 Add support for sybase tds jdbc driver
([#&#8203;8764](DataDog/dd-trace-java#8764) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- 🐛 Take defensive copy of parent scope stack when closing nested
coroutines
([#&#8203;8749](DataDog/dd-trace-java#8749) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Reactor instrumentation

- ✨⚡ Do not inspect reactor context when not needed
([#&#8203;8745](DataDog/dd-trace-java#8745) -
[@&#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**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 795f347ae34d056efc1194c2f606cee7bca1beea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants