Skip to content

Conversation

@robertomonteromiguel
Copy link
Contributor

What Does This Do

Add Antithesis assertions in the tracer

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@robertomonteromiguel robertomonteromiguel added the tag: do not merge Do not merge changes label Nov 18, 2025
@pr-commenter
Copy link

pr-commenter bot commented Nov 18, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/antithesis_poc_java_tracer
git_commit_date 1763454917 1764176487
git_commit_sha 8d53878 35bd8be
release_version 1.56.0-SNAPSHOT~8d538789b9 1.56.0-SNAPSHOT~35bd8be91a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764178379 1764178379
ci_job_id 1258950720 1258950720
ci_pipeline_id 84145853 84145853
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-lwxetj3w 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-lwxetj3w 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:profiling:Agent worse
[+281.579ms; +432.911ms] or [+2.537%; +3.901%]
11.455s 11.098s
scenario:startup:petclinic:profiling:Agent.start worse
[+196.849ms; +224.354ms] or [+15.996%; +18.231%]
1.441s 1.231s
scenario:startup:petclinic:profiling:ProfilingAgent worse
[+200.601ms; +202.711ms] or [+206.554%; +208.727%]
298.774ms 97.118ms
scenario:startup:petclinic:profiling:Profiling worse
[+200.609ms; +202.726ms] or [+205.314%; +207.481%]
299.375ms 97.708ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.104 s) : 0, 1103916
Total [baseline] (10.745 s) : 0, 10745171
Agent [candidate] (1.1 s) : 0, 1100349
Total [candidate] (10.898 s) : 0, 10898098
section appsec
Agent [baseline] (1.283 s) : 0, 1283479
Total [baseline] (11.094 s) : 0, 11094373
Agent [candidate] (1.283 s) : 0, 1282622
Total [candidate] (11.209 s) : 0, 11208991
section iast
Agent [baseline] (1.247 s) : 0, 1247089
Total [baseline] (11.354 s) : 0, 11354328
Agent [candidate] (1.245 s) : 0, 1245058
Total [candidate] (11.218 s) : 0, 11218239
section profiling
Agent [baseline] (1.231 s) : 0, 1230587
Total [baseline] (11.098 s) : 0, 11097956
Agent [candidate] (1.441 s) : 0, 1441188
Total [candidate] (11.455 s) : 0, 11455201
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.104 s -
Agent appsec 1.283 s 179.562 ms (16.3%)
Agent iast 1.247 s 143.173 ms (13.0%)
Agent profiling 1.231 s 126.67 ms (11.5%)
Total tracing 10.745 s -
Total appsec 11.094 s 349.202 ms (3.2%)
Total iast 11.354 s 609.157 ms (5.7%)
Total profiling 11.098 s 352.785 ms (3.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.1 s -
Agent appsec 1.283 s 182.273 ms (16.6%)
Agent iast 1.245 s 144.709 ms (13.2%)
Agent profiling 1.441 s 340.839 ms (31.0%)
Total tracing 10.898 s -
Total appsec 11.209 s 310.892 ms (2.9%)
Total iast 11.218 s 320.14 ms (2.9%)
Total profiling 11.455 s 557.102 ms (5.1%)
gantt
    title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.476 ms) : 0, 1476
crashtracking [candidate] (1.474 ms) : 0, 1474
BytebuddyAgent [baseline] (708.706 ms) : 0, 708706
BytebuddyAgent [candidate] (705.809 ms) : 0, 705809
GlobalTracer [baseline] (249.533 ms) : 0, 249533
GlobalTracer [candidate] (249.323 ms) : 0, 249323
AppSec [baseline] (32.232 ms) : 0, 32232
AppSec [candidate] (32.214 ms) : 0, 32214
Debugger [baseline] (64.312 ms) : 0, 64312
Debugger [candidate] (63.78 ms) : 0, 63780
Remote Config [baseline] (640.131 µs) : 0, 640
Remote Config [candidate] (648.547 µs) : 0, 649
Telemetry [baseline] (8.29 ms) : 0, 8290
Telemetry [candidate] (8.312 ms) : 0, 8312
Flare Poller [baseline] (3.719 ms) : 0, 3719
Flare Poller [candidate] (3.777 ms) : 0, 3777
section appsec
crashtracking [baseline] (1.462 ms) : 0, 1462
crashtracking [candidate] (1.473 ms) : 0, 1473
BytebuddyAgent [baseline] (732.308 ms) : 0, 732308
BytebuddyAgent [candidate] (730.883 ms) : 0, 730883
GlobalTracer [baseline] (241.297 ms) : 0, 241297
GlobalTracer [candidate] (241.77 ms) : 0, 241770
AppSec [baseline] (174.472 ms) : 0, 174472
AppSec [candidate] (174.792 ms) : 0, 174792
Debugger [baseline] (61.135 ms) : 0, 61135
Debugger [candidate] (60.961 ms) : 0, 60961
Remote Config [baseline] (698.67 µs) : 0, 699
Remote Config [candidate] (711.444 µs) : 0, 711
Telemetry [baseline] (8.287 ms) : 0, 8287
Telemetry [candidate] (8.311 ms) : 0, 8311
Flare Poller [baseline] (3.884 ms) : 0, 3884
Flare Poller [candidate] (3.747 ms) : 0, 3747
IAST [baseline] (24.87 ms) : 0, 24870
IAST [candidate] (24.721 ms) : 0, 24721
section iast
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (835.834 ms) : 0, 835834
BytebuddyAgent [candidate] (836.18 ms) : 0, 836180
GlobalTracer [baseline] (239.776 ms) : 0, 239776
GlobalTracer [candidate] (239.832 ms) : 0, 239832
AppSec [baseline] (30.802 ms) : 0, 30802
AppSec [candidate] (25.902 ms) : 0, 25902
Debugger [baseline] (61.148 ms) : 0, 61148
Debugger [candidate] (60.086 ms) : 0, 60086
Remote Config [baseline] (551.114 µs) : 0, 551
Remote Config [candidate] (539.541 µs) : 0, 540
Telemetry [baseline] (7.651 ms) : 0, 7651
Telemetry [candidate] (7.611 ms) : 0, 7611
Flare Poller [baseline] (3.474 ms) : 0, 3474
Flare Poller [candidate] (3.46 ms) : 0, 3460
IAST [baseline] (31.235 ms) : 0, 31235
IAST [candidate] (34.825 ms) : 0, 34825
section profiling
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (732.097 ms) : 0, 732097
BytebuddyAgent [candidate] (737.636 ms) : 0, 737636
GlobalTracer [baseline] (222.197 ms) : 0, 222197
GlobalTracer [candidate] (224.288 ms) : 0, 224288
AppSec [baseline] (32.163 ms) : 0, 32163
AppSec [candidate] (32.657 ms) : 0, 32657
Debugger [baseline] (63.271 ms) : 0, 63271
Debugger [candidate] (63.335 ms) : 0, 63335
Remote Config [baseline] (648.011 µs) : 0, 648
Remote Config [candidate] (654.741 µs) : 0, 655
Telemetry [baseline] (7.973 ms) : 0, 7973
Telemetry [candidate] (8.087 ms) : 0, 8087
Flare Poller [baseline] (3.764 ms) : 0, 3764
Flare Poller [candidate] (3.811 ms) : 0, 3811
ProfilingAgent [baseline] (97.118 ms) : 0, 97118
ProfilingAgent [candidate] (298.774 ms) : 0, 298774
Profiling [baseline] (97.708 ms) : 0, 97708
Profiling [candidate] (299.375 ms) : 0, 299375
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.107 s) : 0, 1106751
Total [baseline] (8.9 s) : 0, 8900227
Agent [candidate] (1.1 s) : 0, 1100340
Total [candidate] (8.877 s) : 0, 8876873
section iast
Agent [baseline] (1.235 s) : 0, 1235174
Total [baseline] (9.59 s) : 0, 9589713
Agent [candidate] (1.248 s) : 0, 1248123
Total [candidate] (9.454 s) : 0, 9453825
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.107 s -
Agent iast 1.235 s 128.423 ms (11.6%)
Total tracing 8.9 s -
Total iast 9.59 s 689.486 ms (7.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.1 s -
Agent iast 1.248 s 147.783 ms (13.4%)
Total tracing 8.877 s -
Total iast 9.454 s 576.952 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.482 ms) : 0, 1482
crashtracking [candidate] (1.46 ms) : 0, 1460
BytebuddyAgent [baseline] (711.138 ms) : 0, 711138
BytebuddyAgent [candidate] (707.221 ms) : 0, 707221
GlobalTracer [baseline] (249.845 ms) : 0, 249845
GlobalTracer [candidate] (249.596 ms) : 0, 249596
AppSec [baseline] (32.635 ms) : 0, 32635
AppSec [candidate] (32.476 ms) : 0, 32476
Debugger [baseline] (63.968 ms) : 0, 63968
Debugger [candidate] (62.05 ms) : 0, 62050
Remote Config [baseline] (634.28 µs) : 0, 634
Remote Config [candidate] (621.743 µs) : 0, 622
Telemetry [baseline] (8.26 ms) : 0, 8260
Telemetry [candidate] (8.197 ms) : 0, 8197
Flare Poller [baseline] (3.712 ms) : 0, 3712
Flare Poller [candidate] (3.656 ms) : 0, 3656
section iast
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.491 ms) : 0, 1491
BytebuddyAgent [baseline] (827.424 ms) : 0, 827424
BytebuddyAgent [candidate] (837.756 ms) : 0, 837756
GlobalTracer [baseline] (237.924 ms) : 0, 237924
GlobalTracer [candidate] (240.127 ms) : 0, 240127
AppSec [baseline] (34.037 ms) : 0, 34037
AppSec [candidate] (26.468 ms) : 0, 26468
Debugger [baseline] (60.22 ms) : 0, 60220
Debugger [candidate] (59.942 ms) : 0, 59942
Remote Config [baseline] (547.603 µs) : 0, 548
Remote Config [candidate] (542.323 µs) : 0, 542
Telemetry [baseline] (7.686 ms) : 0, 7686
Telemetry [candidate] (7.632 ms) : 0, 7632
Flare Poller [baseline] (3.509 ms) : 0, 3509
Flare Poller [candidate] (3.502 ms) : 0, 3502
IAST [baseline] (27.41 ms) : 0, 27410
IAST [candidate] (29.511 ms) : 0, 29511
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/antithesis_poc_java_tracer
git_commit_date 1763454917 1764176487
git_commit_sha 8d53878 35bd8be
release_version 1.56.0-SNAPSHOT~8d538789b9 1.56.0-SNAPSHOT~35bd8be91a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764178857 1764178857
ci_job_id 1258950721 1258950721
ci_pipeline_id 84145853 84145853
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-wg0boelm 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-wg0boelm 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:petclinic:appsec:high_load worse
[+0.872ms; +1.746ms] or [+4.817%; +9.650%]
unsure
[+0.368ms; +1.727ms] or [+1.225%; +5.747%]
unstable
[-36.111op/s; +11.111op/s] or [-14.383%; +4.425%]
19.404ms 31.092ms 238.562op/s 18.095ms 30.045ms 251.062op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.834 ms) : 18639, 19029
.   : milestone, 18834,
appsec (18.59 ms) : 18399, 18782
.   : milestone, 18590,
code_origins (17.632 ms) : 17457, 17806
.   : milestone, 17632,
iast (17.604 ms) : 17429, 17778
.   : milestone, 17604,
profiling (18.687 ms) : 18499, 18874
.   : milestone, 18687,
tracing (17.457 ms) : 17286, 17628
.   : milestone, 17457,
section candidate
no_agent (17.876 ms) : 17696, 18057
.   : milestone, 17876,
appsec (19.57 ms) : 19370, 19770
.   : milestone, 19570,
code_origins (17.726 ms) : 17551, 17900
.   : milestone, 17726,
iast (17.615 ms) : 17439, 17791
.   : milestone, 17615,
profiling (18.507 ms) : 18327, 18688
.   : milestone, 18507,
tracing (17.45 ms) : 17275, 17625
.   : milestone, 17450,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.834 ms [18.639 ms, 19.029 ms] -
appsec 18.59 ms [18.399 ms, 18.782 ms] -243.433 µs (-1.3%)
code_origins 17.632 ms [17.457 ms, 17.806 ms] -1.202 ms (-6.4%)
iast 17.604 ms [17.429 ms, 17.778 ms] -1.23 ms (-6.5%)
profiling 18.687 ms [18.499 ms, 18.874 ms] -147.08 µs (-0.8%)
tracing 17.457 ms [17.286 ms, 17.628 ms] -1.377 ms (-7.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.876 ms [17.696 ms, 18.057 ms] -
appsec 19.57 ms [19.37 ms, 19.77 ms] 1.694 ms (9.5%)
code_origins 17.726 ms [17.551 ms, 17.9 ms] -150.53 µs (-0.8%)
iast 17.615 ms [17.439 ms, 17.791 ms] -261.28 µs (-1.5%)
profiling 18.507 ms [18.327 ms, 18.688 ms] 631.14 µs (3.5%)
tracing 17.45 ms [17.275 ms, 17.625 ms] -426.513 µs (-2.4%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.217 ms) : 1205, 1230
.   : milestone, 1217,
iast (3.36 ms) : 3269, 3450
.   : milestone, 3360,
iast_FULL (5.928 ms) : 5845, 6012
.   : milestone, 5928,
iast_GLOBAL (3.698 ms) : 3639, 3757
.   : milestone, 3698,
profiling (2.07 ms) : 2051, 2090
.   : milestone, 2070,
tracing (1.805 ms) : 1789, 1821
.   : milestone, 1805,
section candidate
no_agent (1.205 ms) : 1193, 1217
.   : milestone, 1205,
iast (3.206 ms) : 3168, 3245
.   : milestone, 3206,
iast_FULL (5.889 ms) : 5830, 5948
.   : milestone, 5889,
iast_GLOBAL (3.621 ms) : 3569, 3674
.   : milestone, 3621,
profiling (1.975 ms) : 1958, 1992
.   : milestone, 1975,
tracing (1.813 ms) : 1798, 1829
.   : milestone, 1813,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.217 ms [1.205 ms, 1.23 ms] -
iast 3.36 ms [3.269 ms, 3.45 ms] 2.142 ms (176.0%)
iast_FULL 5.928 ms [5.845 ms, 6.012 ms] 4.711 ms (387.1%)
iast_GLOBAL 3.698 ms [3.639 ms, 3.757 ms] 2.481 ms (203.8%)
profiling 2.07 ms [2.051 ms, 2.09 ms] 853.116 µs (70.1%)
tracing 1.805 ms [1.789 ms, 1.821 ms] 587.578 µs (48.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.205 ms [1.193 ms, 1.217 ms] -
iast 3.206 ms [3.168 ms, 3.245 ms] 2.001 ms (166.1%)
iast_FULL 5.889 ms [5.83 ms, 5.948 ms] 4.684 ms (388.7%)
iast_GLOBAL 3.621 ms [3.569 ms, 3.674 ms] 2.416 ms (200.5%)
profiling 1.975 ms [1.958 ms, 1.992 ms] 769.7 µs (63.9%)
tracing 1.813 ms [1.798 ms, 1.829 ms] 608.237 µs (50.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/antithesis_poc_java_tracer
git_commit_date 1763454917 1764176487
git_commit_sha 8d53878 35bd8be
release_version 1.56.0-SNAPSHOT~8d538789b9 1.56.0-SNAPSHOT~35bd8be91a
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1764178636 1764178636
ci_job_id 1258950722 1258950722
ci_pipeline_id 84145853 84145853
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-huz3k31l 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-huz3k31l 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

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.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.481 ms) : 1470, 1493
.   : milestone, 1481,
appsec (2.475 ms) : 2423, 2526
.   : milestone, 2475,
iast (2.212 ms) : 2148, 2275
.   : milestone, 2212,
iast_GLOBAL (2.26 ms) : 2195, 2324
.   : milestone, 2260,
profiling (2.069 ms) : 2017, 2120
.   : milestone, 2069,
tracing (2.049 ms) : 1999, 2099
.   : milestone, 2049,
section candidate
no_agent (1.482 ms) : 1470, 1493
.   : milestone, 1482,
appsec (2.463 ms) : 2412, 2514
.   : milestone, 2463,
iast (2.214 ms) : 2150, 2278
.   : milestone, 2214,
iast_GLOBAL (2.257 ms) : 2193, 2322
.   : milestone, 2257,
profiling (2.503 ms) : 2341, 2665
.   : milestone, 2503,
tracing (2.049 ms) : 1999, 2099
.   : milestone, 2049,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.481 ms [1.47 ms, 1.493 ms] -
appsec 2.475 ms [2.423 ms, 2.526 ms] 993.352 µs (67.1%)
iast 2.212 ms [2.148 ms, 2.275 ms] 730.371 µs (49.3%)
iast_GLOBAL 2.26 ms [2.195 ms, 2.324 ms] 778.519 µs (52.6%)
profiling 2.069 ms [2.017 ms, 2.12 ms] 587.447 µs (39.7%)
tracing 2.049 ms [1.999 ms, 2.099 ms] 567.821 µs (38.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.47 ms, 1.493 ms] -
appsec 2.463 ms [2.412 ms, 2.514 ms] 981.154 µs (66.2%)
iast 2.214 ms [2.15 ms, 2.278 ms] 732.423 µs (49.4%)
iast_GLOBAL 2.257 ms [2.193 ms, 2.322 ms] 775.561 µs (52.3%)
profiling 2.503 ms [2.341 ms, 2.665 ms] 1.021 ms (68.9%)
tracing 2.049 ms [1.999 ms, 2.099 ms] 567.064 µs (38.3%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~35bd8be91a, baseline=1.56.0-SNAPSHOT~8d538789b9
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.802 s) : 14802000, 14802000
.   : milestone, 14802000,
appsec (15.121 s) : 15121000, 15121000
.   : milestone, 15121000,
iast (18.553 s) : 18553000, 18553000
.   : milestone, 18553000,
iast_GLOBAL (17.996 s) : 17996000, 17996000
.   : milestone, 17996000,
profiling (14.872 s) : 14872000, 14872000
.   : milestone, 14872000,
tracing (14.647 s) : 14647000, 14647000
.   : milestone, 14647000,
section candidate
no_agent (14.931 s) : 14931000, 14931000
.   : milestone, 14931000,
appsec (14.612 s) : 14612000, 14612000
.   : milestone, 14612000,
iast (18.309 s) : 18309000, 18309000
.   : milestone, 18309000,
iast_GLOBAL (17.953 s) : 17953000, 17953000
.   : milestone, 17953000,
profiling (14.6 s) : 14600000, 14600000
.   : milestone, 14600000,
tracing (14.526 s) : 14526000, 14526000
.   : milestone, 14526000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.802 s [14.802 s, 14.802 s] -
appsec 15.121 s [15.121 s, 15.121 s] 319.0 ms (2.2%)
iast 18.553 s [18.553 s, 18.553 s] 3.751 s (25.3%)
iast_GLOBAL 17.996 s [17.996 s, 17.996 s] 3.194 s (21.6%)
profiling 14.872 s [14.872 s, 14.872 s] 70.0 ms (0.5%)
tracing 14.647 s [14.647 s, 14.647 s] -155.0 ms (-1.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.931 s [14.931 s, 14.931 s] -
appsec 14.612 s [14.612 s, 14.612 s] -319.0 ms (-2.1%)
iast 18.309 s [18.309 s, 18.309 s] 3.378 s (22.6%)
iast_GLOBAL 17.953 s [17.953 s, 17.953 s] 3.022 s (20.2%)
profiling 14.6 s [14.6 s, 14.6 s] -331.0 ms (-2.2%)
tracing 14.526 s [14.526 s, 14.526 s] -405.0 ms (-2.7%)

@datadog-official
Copy link

datadog-official bot commented Nov 20, 2025

🎯 Code Coverage
Patch Coverage: 60.87%
Total Coverage: 59.65% (-0.03%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 35bd8be | Docs | Datadog PR Page | Was this helpful? Give us feedback!

Comment on lines 152 to 158
ObjectNode httpResponseDetails = JsonNodeFactory.instance.objectNode();
httpResponseDetails.put("trace_count", payload.traceCount());
httpResponseDetails.put("payload_size_bytes", sizeInBytes);
httpResponseDetails.put("http_status", response.code());
httpResponseDetails.put("http_message", response.message());
httpResponseDetails.put("success", response.code() == 200);
httpResponseDetails.put("agent_url", tracesUrl.toString());
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: I'm very uncomfortable with using jackson API in these parts. And the Assert methods rely on it.

Comment on lines 175 to 178
log.debug("ANTITHESIS_ASSERT: Non-200 HTTP response (unreachable) - code: {}, message: {}, traces: {}", response.code(), response.message(), payload.traceCount());
Assert.unreachable(
"Non-200 HTTP response from agent indicates API failure - traces may be lost",
errorDetails);
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: Another thing is the human cost to maintain these assertions.

implementation(project(":internal-api"))

// Antithesis SDK for assertions and property testing - bundled in tracer JAR
implementation(group = "com.antithesis", name = "sdk", version = "1.4.5")
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: Another concern, is how much more weight it adds to the jar.

Copy link
Contributor

Choose a reason for hiding this comment

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

Right now this PR adds ~20mb to the final jar... but a lot of that is because it embeds antithesis, its native FFI wrapper, and various jackson dependencies multiple times in each of the product directories in the agent jar.

If we move it to the shared section in dd-java-agent/build.gradle and add the necessary excludes to gradle/dependencies.gradle like we do for other shared dependencies then the overhead is 3mb compressed and 8mb uncompressed.

That still feels too big to have in the general deliverable for something only used for testing purposes.

One option might be to only include the direct dependency in the release (i.e. without jackson or the ffi wrapper.) - in other words just enough to allow the classes to load. We'd then have to look at how to combine the other parts for testing, whether that's via -Xbootclasspath/a: or something similar.

@pr-commenter
Copy link

pr-commenter bot commented Nov 26, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1764177151 1764177496
end_time 2025-11-26T17:13:53 2025-11-26T17:19:39
git_branch master robertomonteromiguel/antithesis_poc_java_tracer
git_commit_sha 43a58e1 35bd8be
start_time 2025-11-26T17:12:32 2025-11-26T17:18:17
See matching parameters
Baseline Candidate
ci_job_id 1258950727 1258950727
ci_pipeline_id 84145853 84145853
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1764176487 1764176487

Summary

Found 4 performance improvements and 0 performance regressions! Performance is the same for 2 metrics, 9 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
[-543.336µs; -448.530µs] or [-6.128%; -5.059%]
better
[-554.120µs; -460.104µs] or [-6.185%; -5.135%]
better
[-534.895µs; -437.327µs] or [-5.937%; -4.854%]
unstable
[-798.398µs; +450.572µs] or [-8.761%; +4.944%]
better
[+4.262op/s; +7.301op/s] or [+3.858%; +6.608%]
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
[-13.820µs; +37.331µs] or [-4.939%; +13.342%]
unstable
[-22.396µs; +53.449µs] or [-7.016%; +16.743%]
unstable
[-31.770µs; +67.743µs] or [-9.554%; +20.372%]
unstable
[-177.089µs; +390.221µs] or [-17.513%; +38.591%]
same
scenario:basic unstable
[-15.532µs; +11.528µs] or [-5.892%; +4.373%]
same unstable
[-30.464µs; +15.978µs] or [-9.636%; +5.054%]
unstable
[-124.292µs; +72.219µs] or [-15.399%; +8.948%]
unstable
[-120.241op/s; +248.446op/s] or [-4.810%; +9.938%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (319.234 µs) : 298, 341
.   : milestone, 319,
basic (301.788 µs) : 284, 319
.   : milestone, 302,
loop (8.96 ms) : 8956, 8963
.   : milestone, 8960,
section candidate
noprobe (334.76 µs) : 289, 381
.   : milestone, 335,
basic (296.562 µs) : 288, 305
.   : milestone, 297,
loop (8.452 ms) : 8391, 8514
.   : milestone, 8452,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 319.234 µs [297.587 µs, 340.881 µs]
basic 301.788 µs [284.079 µs, 319.496 µs]
loop 8.96 ms [8.956 ms, 8.963 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 334.76 µs [288.552 µs, 380.969 µs]
basic 296.562 µs [288.367 µs, 304.758 µs]
loop 8.452 ms [8.391 ms, 8.514 ms]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tag: do not merge Do not merge changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants