Add architecture and high-level design documentation#10627
Open
PerfectSlayer wants to merge 14 commits intomasterfrom
Open
Add architecture and high-level design documentation#10627PerfectSlayer wants to merge 14 commits intomasterfrom
PerfectSlayer wants to merge 14 commits intomasterfrom
Conversation
dougqh
approved these changes
Feb 18, 2026
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 62 metrics, 9 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1070688
Total [baseline] (11.025 s) : 0, 11025232
Agent [candidate] (1.075 s) : 0, 1075151
Total [candidate] (10.778 s) : 0, 10778382
section appsec
Agent [baseline] (1.247 s) : 0, 1246931
Total [baseline] (11.204 s) : 0, 11204100
Agent [candidate] (1.244 s) : 0, 1243785
Total [candidate] (11.011 s) : 0, 11010893
section iast
Agent [baseline] (1.234 s) : 0, 1233963
Total [baseline] (11.193 s) : 0, 11192813
Agent [candidate] (1.242 s) : 0, 1241530
Total [candidate] (11.202 s) : 0, 11202441
section profiling
Agent [baseline] (1.219 s) : 0, 1218647
Total [baseline] (11.104 s) : 0, 11103874
Agent [candidate] (1.19 s) : 0, 1190172
Total [candidate] (10.854 s) : 0, 10854169
gantt
title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.185 ms) : 0, 1185
crashtracking [candidate] (1.182 ms) : 0, 1182
BytebuddyAgent [baseline] (632.172 ms) : 0, 632172
BytebuddyAgent [candidate] (633.691 ms) : 0, 633691
AgentMeter [baseline] (29.199 ms) : 0, 29199
AgentMeter [candidate] (29.36 ms) : 0, 29360
GlobalTracer [baseline] (259.85 ms) : 0, 259850
GlobalTracer [candidate] (260.366 ms) : 0, 260366
AppSec [baseline] (33.177 ms) : 0, 33177
AppSec [candidate] (33.346 ms) : 0, 33346
Debugger [baseline] (62.044 ms) : 0, 62044
Debugger [candidate] (61.837 ms) : 0, 61837
Remote Config [baseline] (628.036 µs) : 0, 628
Remote Config [candidate] (633.132 µs) : 0, 633
Telemetry [baseline] (13.127 ms) : 0, 13127
Telemetry [candidate] (14.687 ms) : 0, 14687
Flare Poller [baseline] (3.86 ms) : 0, 3860
Flare Poller [candidate] (4.564 ms) : 0, 4564
section appsec
crashtracking [baseline] (1.184 ms) : 0, 1184
crashtracking [candidate] (1.191 ms) : 0, 1191
BytebuddyAgent [baseline] (662.982 ms) : 0, 662982
BytebuddyAgent [candidate] (659.84 ms) : 0, 659840
AgentMeter [baseline] (12.06 ms) : 0, 12060
AgentMeter [candidate] (11.964 ms) : 0, 11964
GlobalTracer [baseline] (259.893 ms) : 0, 259893
GlobalTracer [candidate] (258.993 ms) : 0, 258993
AppSec [baseline] (168.251 ms) : 0, 168251
AppSec [candidate] (168.763 ms) : 0, 168763
Debugger [baseline] (67.424 ms) : 0, 67424
Debugger [candidate] (67.84 ms) : 0, 67840
Remote Config [baseline] (647.945 µs) : 0, 648
Remote Config [candidate] (672.2 µs) : 0, 672
Telemetry [baseline] (9.608 ms) : 0, 9608
Telemetry [candidate] (9.813 ms) : 0, 9813
Flare Poller [baseline] (3.722 ms) : 0, 3722
Flare Poller [candidate] (3.742 ms) : 0, 3742
IAST [baseline] (25.766 ms) : 0, 25766
IAST [candidate] (25.578 ms) : 0, 25578
section iast
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.183 ms) : 0, 1183
BytebuddyAgent [baseline] (797.128 ms) : 0, 797128
BytebuddyAgent [candidate] (802.128 ms) : 0, 802128
AgentMeter [baseline] (11.253 ms) : 0, 11253
AgentMeter [candidate] (11.554 ms) : 0, 11554
GlobalTracer [baseline] (248.617 ms) : 0, 248617
GlobalTracer [candidate] (249.615 ms) : 0, 249615
AppSec [baseline] (32.372 ms) : 0, 32372
AppSec [candidate] (30.974 ms) : 0, 30974
Debugger [baseline] (68.309 ms) : 0, 68309
Debugger [candidate] (70.869 ms) : 0, 70869
Remote Config [baseline] (536.515 µs) : 0, 537
Remote Config [candidate] (541.796 µs) : 0, 542
Telemetry [baseline] (8.564 ms) : 0, 8564
Telemetry [candidate] (8.632 ms) : 0, 8632
Flare Poller [baseline] (3.444 ms) : 0, 3444
Flare Poller [candidate] (3.472 ms) : 0, 3472
IAST [baseline] (27.23 ms) : 0, 27230
IAST [candidate] (27.128 ms) : 0, 27128
section profiling
ProfilingAgent [baseline] (100.491 ms) : 0, 100491
ProfilingAgent [candidate] (99.124 ms) : 0, 99124
crashtracking [baseline] (1.246 ms) : 0, 1246
crashtracking [candidate] (1.21 ms) : 0, 1210
BytebuddyAgent [baseline] (701.154 ms) : 0, 701154
BytebuddyAgent [candidate] (682.503 ms) : 0, 682503
AgentMeter [baseline] (8.789 ms) : 0, 8789
AgentMeter [candidate] (8.644 ms) : 0, 8644
GlobalTracer [baseline] (219.896 ms) : 0, 219896
GlobalTracer [candidate] (215.922 ms) : 0, 215922
AppSec [baseline] (33.682 ms) : 0, 33682
AppSec [candidate] (32.716 ms) : 0, 32716
Debugger [baseline] (68.445 ms) : 0, 68445
Debugger [candidate] (66.908 ms) : 0, 66908
Remote Config [baseline] (649.603 µs) : 0, 650
Remote Config [candidate] (636.103 µs) : 0, 636
Telemetry [baseline] (9.06 ms) : 0, 9060
Telemetry [candidate] (8.833 ms) : 0, 8833
Flare Poller [baseline] (3.868 ms) : 0, 3868
Flare Poller [candidate] (3.706 ms) : 0, 3706
Profiling [baseline] (101.084 ms) : 0, 101084
Profiling [candidate] (99.702 ms) : 0, 99702
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.072 s) : 0, 1072045
Total [baseline] (8.739 s) : 0, 8739068
Agent [candidate] (1.064 s) : 0, 1063841
Total [candidate] (8.769 s) : 0, 8768957
section iast
Agent [baseline] (1.234 s) : 0, 1234316
Total [baseline] (9.32 s) : 0, 9320150
Agent [candidate] (1.245 s) : 0, 1244730
Total [candidate] (9.41 s) : 0, 9410269
gantt
title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.178 ms) : 0, 1178
crashtracking [candidate] (1.197 ms) : 0, 1197
BytebuddyAgent [baseline] (633.617 ms) : 0, 633617
BytebuddyAgent [candidate] (629.616 ms) : 0, 629616
AgentMeter [baseline] (29.225 ms) : 0, 29225
AgentMeter [candidate] (29.002 ms) : 0, 29002
GlobalTracer [baseline] (259.222 ms) : 0, 259222
GlobalTracer [candidate] (257.912 ms) : 0, 257912
AppSec [baseline] (33.141 ms) : 0, 33141
AppSec [candidate] (32.93 ms) : 0, 32930
Debugger [baseline] (61.01 ms) : 0, 61010
Debugger [candidate] (62.165 ms) : 0, 62165
Remote Config [baseline] (627.137 µs) : 0, 627
Remote Config [candidate] (614.02 µs) : 0, 614
Telemetry [baseline] (10.809 ms) : 0, 10809
Telemetry [candidate] (11.346 ms) : 0, 11346
Flare Poller [baseline] (7.781 ms) : 0, 7781
Flare Poller [candidate] (3.787 ms) : 0, 3787
section iast
crashtracking [baseline] (1.184 ms) : 0, 1184
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (798.274 ms) : 0, 798274
BytebuddyAgent [candidate] (805.054 ms) : 0, 805054
AgentMeter [baseline] (11.289 ms) : 0, 11289
AgentMeter [candidate] (11.591 ms) : 0, 11591
GlobalTracer [baseline] (249.088 ms) : 0, 249088
GlobalTracer [candidate] (250.777 ms) : 0, 250777
AppSec [baseline] (34.745 ms) : 0, 34745
AppSec [candidate] (34.417 ms) : 0, 34417
Debugger [baseline] (64.923 ms) : 0, 64923
Debugger [candidate] (66.19 ms) : 0, 66190
Remote Config [baseline] (537.095 µs) : 0, 537
Remote Config [candidate] (540.333 µs) : 0, 540
Telemetry [baseline] (8.623 ms) : 0, 8623
Telemetry [candidate] (8.578 ms) : 0, 8578
Flare Poller [baseline] (3.403 ms) : 0, 3403
Flare Poller [candidate] (3.454 ms) : 0, 3454
IAST [baseline] (26.997 ms) : 0, 26997
IAST [candidate] (27.465 ms) : 0, 27465
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 4 performance regressions! Performance is the same for 16 metrics, 16 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section baseline
no_agent (18.836 ms) : 18645, 19027
. : milestone, 18836,
appsec (18.731 ms) : 18541, 18920
. : milestone, 18731,
code_origins (17.69 ms) : 17514, 17866
. : milestone, 17690,
iast (17.836 ms) : 17655, 18017
. : milestone, 17836,
profiling (19.415 ms) : 19224, 19606
. : milestone, 19415,
tracing (18.386 ms) : 18201, 18571
. : milestone, 18386,
section candidate
no_agent (19.412 ms) : 19211, 19613
. : milestone, 19412,
appsec (19.86 ms) : 19655, 20065
. : milestone, 19860,
code_origins (17.611 ms) : 17431, 17792
. : milestone, 17611,
iast (18.164 ms) : 17982, 18346
. : milestone, 18164,
profiling (19.48 ms) : 19287, 19673
. : milestone, 19480,
tracing (17.865 ms) : 17689, 18041
. : milestone, 17865,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section baseline
no_agent (1.195 ms) : 1183, 1206
. : milestone, 1195,
iast (3.189 ms) : 3147, 3230
. : milestone, 3189,
iast_FULL (5.73 ms) : 5673, 5787
. : milestone, 5730,
iast_GLOBAL (3.585 ms) : 3531, 3640
. : milestone, 3585,
profiling (2.021 ms) : 2003, 2038
. : milestone, 2021,
tracing (1.807 ms) : 1792, 1823
. : milestone, 1807,
section candidate
no_agent (1.178 ms) : 1167, 1190
. : milestone, 1178,
iast (3.271 ms) : 3228, 3314
. : milestone, 3271,
iast_FULL (6.27 ms) : 6204, 6336
. : milestone, 6270,
iast_GLOBAL (3.604 ms) : 3553, 3655
. : milestone, 3604,
profiling (2.103 ms) : 2083, 2122
. : milestone, 2103,
tracing (1.785 ms) : 1770, 1801
. : milestone, 1785,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 2 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section baseline
no_agent (14.725 s) : 14725000, 14725000
. : milestone, 14725000,
appsec (14.938 s) : 14938000, 14938000
. : milestone, 14938000,
iast (18.486 s) : 18486000, 18486000
. : milestone, 18486000,
iast_GLOBAL (17.713 s) : 17713000, 17713000
. : milestone, 17713000,
profiling (15.398 s) : 15398000, 15398000
. : milestone, 15398000,
tracing (14.939 s) : 14939000, 14939000
. : milestone, 14939000,
section candidate
no_agent (14.712 s) : 14712000, 14712000
. : milestone, 14712000,
appsec (14.702 s) : 14702000, 14702000
. : milestone, 14702000,
iast (17.857 s) : 17857000, 17857000
. : milestone, 17857000,
iast_GLOBAL (18.061 s) : 18061000, 18061000
. : milestone, 18061000,
profiling (15.068 s) : 15068000, 15068000
. : milestone, 15068000,
tracing (14.651 s) : 14651000, 14651000
. : milestone, 14651000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~ca5f365ca4, baseline=1.60.0-SNAPSHOT~6cefaf60df
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1464, 1487
. : milestone, 1475,
appsec (2.532 ms) : 2476, 2587
. : milestone, 2532,
iast (2.258 ms) : 2189, 2328
. : milestone, 2258,
iast_GLOBAL (2.304 ms) : 2234, 2373
. : milestone, 2304,
profiling (2.116 ms) : 2059, 2173
. : milestone, 2116,
tracing (2.068 ms) : 2014, 2122
. : milestone, 2068,
section candidate
no_agent (1.479 ms) : 1467, 1490
. : milestone, 1479,
appsec (3.833 ms) : 3609, 4056
. : milestone, 3833,
iast (2.255 ms) : 2186, 2325
. : milestone, 2255,
iast_GLOBAL (2.302 ms) : 2233, 2372
. : milestone, 2302,
profiling (2.511 ms) : 2356, 2667
. : milestone, 2511,
tracing (2.063 ms) : 2010, 2117
. : milestone, 2063,
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
This PR adds architecture and design documentation.
Motivation
Motivation come from this article: https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html
Yes, it will help with AI and LLM, but I expect it to help new comers and first time contributors first and foremost.
Additional Notes
The content was "AI generated" in a sense of I asked the sections I wanted to have, reviewed the content, iterated on key topics I wanted to addressed, and trim what was not relevant. It should show from the English that will be more grammatically correct compared to what I could type. I'm a bit sad having to leverage this kind of tool for sharing knowledge but the past three years are proof that I haven’t managed to do it on my own.
I'm happy to discuss both the content (if something is missing, if something does not have its place here) and the form (is the
ARCHITECTURE.mdfile the right format for? or should we move it to/docs). I tried to insert as many references as possible to the other documents to help with discovery.Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [APMSP-2636]
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.