Add architecture and high-level design documentation#10627
Add architecture and high-level design documentation#10627gh-worker-dd-mergequeue-cf854d[bot] merged 15 commits intomasterfrom
Conversation
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~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.075 s) : 0, 1074665
Total [baseline] (11.01 s) : 0, 11009537
Agent [candidate] (1.064 s) : 0, 1064291
Total [candidate] (10.93 s) : 0, 10929552
section appsec
Agent [baseline] (1.24 s) : 0, 1239995
Total [baseline] (11.096 s) : 0, 11095505
Agent [candidate] (1.24 s) : 0, 1240317
Total [candidate] (11.11 s) : 0, 11110080
section iast
Agent [baseline] (1.232 s) : 0, 1231820
Total [baseline] (11.272 s) : 0, 11271901
Agent [candidate] (1.237 s) : 0, 1237092
Total [candidate] (11.345 s) : 0, 11345348
section profiling
Agent [baseline] (1.2 s) : 0, 1200392
Total [baseline] (11.047 s) : 0, 11046815
Agent [candidate] (1.202 s) : 0, 1201521
Total [candidate] (11.141 s) : 0, 11141207
gantt
title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.205 ms) : 0, 1205
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (633.899 ms) : 0, 633899
BytebuddyAgent [candidate] (627.53 ms) : 0, 627530
AgentMeter [baseline] (29.456 ms) : 0, 29456
AgentMeter [candidate] (29.121 ms) : 0, 29121
GlobalTracer [baseline] (259.766 ms) : 0, 259766
GlobalTracer [candidate] (257.894 ms) : 0, 257894
AppSec [baseline] (33.463 ms) : 0, 33463
AppSec [candidate] (32.975 ms) : 0, 32975
Debugger [baseline] (63.574 ms) : 0, 63574
Debugger [candidate] (64.527 ms) : 0, 64527
Remote Config [baseline] (641.028 µs) : 0, 641
Remote Config [candidate] (632.458 µs) : 0, 632
Telemetry [baseline] (12.564 ms) : 0, 12564
Telemetry [candidate] (10.625 ms) : 0, 10625
Flare Poller [baseline] (3.796 ms) : 0, 3796
Flare Poller [candidate] (3.774 ms) : 0, 3774
section appsec
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.213 ms) : 0, 1213
BytebuddyAgent [baseline] (657.902 ms) : 0, 657902
BytebuddyAgent [candidate] (658.123 ms) : 0, 658123
AgentMeter [baseline] (11.994 ms) : 0, 11994
AgentMeter [candidate] (11.974 ms) : 0, 11974
GlobalTracer [baseline] (258.36 ms) : 0, 258360
GlobalTracer [candidate] (258.705 ms) : 0, 258705
IAST [baseline] (25.404 ms) : 0, 25404
IAST [candidate] (25.498 ms) : 0, 25498
AppSec [baseline] (168.177 ms) : 0, 168177
AppSec [candidate] (169.448 ms) : 0, 169448
Debugger [baseline] (67.166 ms) : 0, 67166
Debugger [candidate] (65.684 ms) : 0, 65684
Remote Config [baseline] (636.602 µs) : 0, 637
Remote Config [candidate] (640.165 µs) : 0, 640
Telemetry [baseline] (9.459 ms) : 0, 9459
Telemetry [candidate] (9.352 ms) : 0, 9352
Flare Poller [baseline] (3.697 ms) : 0, 3697
Flare Poller [candidate] (3.66 ms) : 0, 3660
section iast
crashtracking [baseline] (1.184 ms) : 0, 1184
crashtracking [candidate] (1.205 ms) : 0, 1205
BytebuddyAgent [baseline] (795.5 ms) : 0, 795500
BytebuddyAgent [candidate] (798.108 ms) : 0, 798108
AgentMeter [baseline] (11.307 ms) : 0, 11307
AgentMeter [candidate] (11.364 ms) : 0, 11364
GlobalTracer [baseline] (248.124 ms) : 0, 248124
GlobalTracer [candidate] (248.819 ms) : 0, 248819
IAST [baseline] (27.017 ms) : 0, 27017
IAST [candidate] (27.027 ms) : 0, 27027
AppSec [baseline] (33.807 ms) : 0, 33807
AppSec [candidate] (32.329 ms) : 0, 32329
Debugger [baseline] (66.252 ms) : 0, 66252
Debugger [candidate] (69.195 ms) : 0, 69195
Remote Config [baseline] (527.776 µs) : 0, 528
Remote Config [candidate] (548.111 µs) : 0, 548
Telemetry [baseline] (8.63 ms) : 0, 8630
Telemetry [candidate] (8.796 ms) : 0, 8796
Flare Poller [baseline] (3.457 ms) : 0, 3457
Flare Poller [candidate] (3.559 ms) : 0, 3559
section profiling
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (688.275 ms) : 0, 688275
BytebuddyAgent [candidate] (687.962 ms) : 0, 687962
AgentMeter [baseline] (8.646 ms) : 0, 8646
AgentMeter [candidate] (8.611 ms) : 0, 8611
GlobalTracer [baseline] (217.749 ms) : 0, 217749
GlobalTracer [candidate] (217.35 ms) : 0, 217350
AppSec [baseline] (32.758 ms) : 0, 32758
AppSec [candidate] (32.84 ms) : 0, 32840
Debugger [baseline] (67.466 ms) : 0, 67466
Debugger [candidate] (68.12 ms) : 0, 68120
Remote Config [baseline] (638.918 µs) : 0, 639
Remote Config [candidate] (644.996 µs) : 0, 645
Telemetry [baseline] (9.016 ms) : 0, 9016
Telemetry [candidate] (9.023 ms) : 0, 9023
Flare Poller [baseline] (3.769 ms) : 0, 3769
Flare Poller [candidate] (3.791 ms) : 0, 3791
ProfilingAgent [baseline] (99.685 ms) : 0, 99685
ProfilingAgent [candidate] (100.86 ms) : 0, 100860
Profiling [baseline] (100.268 ms) : 0, 100268
Profiling [candidate] (101.44 ms) : 0, 101440
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1070596
Total [baseline] (8.777 s) : 0, 8777174
Agent [candidate] (1.061 s) : 0, 1061128
Total [candidate] (8.747 s) : 0, 8746659
section iast
Agent [baseline] (1.232 s) : 0, 1231680
Total [baseline] (9.426 s) : 0, 9425909
Agent [candidate] (1.231 s) : 0, 1231198
Total [candidate] (9.4 s) : 0, 9400235
gantt
title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.208 ms) : 0, 1208
crashtracking [candidate] (1.183 ms) : 0, 1183
BytebuddyAgent [baseline] (630.951 ms) : 0, 630951
BytebuddyAgent [candidate] (625.421 ms) : 0, 625421
AgentMeter [baseline] (29.271 ms) : 0, 29271
AgentMeter [candidate] (28.953 ms) : 0, 28953
GlobalTracer [baseline] (259.284 ms) : 0, 259284
GlobalTracer [candidate] (257.423 ms) : 0, 257423
AppSec [baseline] (33.247 ms) : 0, 33247
AppSec [candidate] (32.834 ms) : 0, 32834
Debugger [baseline] (65.934 ms) : 0, 65934
Debugger [candidate] (65.246 ms) : 0, 65246
Remote Config [baseline] (617.598 µs) : 0, 618
Remote Config [candidate] (613.333 µs) : 0, 613
Telemetry [baseline] (9.951 ms) : 0, 9951
Telemetry [candidate] (9.73 ms) : 0, 9730
Flare Poller [baseline] (3.782 ms) : 0, 3782
Flare Poller [candidate] (3.727 ms) : 0, 3727
section iast
crashtracking [baseline] (1.203 ms) : 0, 1203
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (795.837 ms) : 0, 795837
BytebuddyAgent [candidate] (795.183 ms) : 0, 795183
AgentMeter [baseline] (11.314 ms) : 0, 11314
AgentMeter [candidate] (11.335 ms) : 0, 11335
GlobalTracer [baseline] (248.442 ms) : 0, 248442
GlobalTracer [candidate] (248.403 ms) : 0, 248403
IAST [baseline] (26.939 ms) : 0, 26939
IAST [candidate] (26.984 ms) : 0, 26984
AppSec [baseline] (31.202 ms) : 0, 31202
AppSec [candidate] (33.155 ms) : 0, 33155
Debugger [baseline] (68.086 ms) : 0, 68086
Debugger [candidate] (66.29 ms) : 0, 66290
Remote Config [baseline] (545.56 µs) : 0, 546
Remote Config [candidate] (537.975 µs) : 0, 538
Telemetry [baseline] (8.685 ms) : 0, 8685
Telemetry [candidate] (8.64 ms) : 0, 8640
Flare Poller [baseline] (3.454 ms) : 0, 3454
Flare Poller [candidate] (3.429 ms) : 0, 3429
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 insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section baseline
no_agent (1.178 ms) : 1167, 1190
. : milestone, 1178,
iast (3.183 ms) : 3144, 3222
. : milestone, 3183,
iast_FULL (5.608 ms) : 5553, 5662
. : milestone, 5608,
iast_GLOBAL (3.561 ms) : 3507, 3616
. : milestone, 3561,
profiling (2.291 ms) : 2268, 2314
. : milestone, 2291,
tracing (1.776 ms) : 1761, 1791
. : milestone, 1776,
section candidate
no_agent (1.182 ms) : 1170, 1194
. : milestone, 1182,
iast (3.08 ms) : 3039, 3120
. : milestone, 3080,
iast_FULL (5.894 ms) : 5834, 5954
. : milestone, 5894,
iast_GLOBAL (3.592 ms) : 3530, 3654
. : milestone, 3592,
profiling (2.172 ms) : 2153, 2192
. : milestone, 2172,
tracing (1.814 ms) : 1798, 1831
. : milestone, 1814,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section baseline
no_agent (17.225 ms) : 17052, 17398
. : milestone, 17225,
appsec (18.462 ms) : 18275, 18648
. : milestone, 18462,
code_origins (17.722 ms) : 17545, 17898
. : milestone, 17722,
iast (17.639 ms) : 17465, 17813
. : milestone, 17639,
profiling (18.732 ms) : 18545, 18919
. : milestone, 18732,
tracing (17.442 ms) : 17269, 17614
. : milestone, 17442,
section candidate
no_agent (18.107 ms) : 17924, 18289
. : milestone, 18107,
appsec (18.535 ms) : 18349, 18721
. : milestone, 18535,
code_origins (17.653 ms) : 17478, 17828
. : milestone, 17653,
iast (17.647 ms) : 17471, 17823
. : milestone, 17647,
profiling (19.843 ms) : 19646, 20041
. : milestone, 19843,
tracing (17.682 ms) : 17506, 17858
. : milestone, 17682,
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~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section baseline
no_agent (15.335 s) : 15335000, 15335000
. : milestone, 15335000,
appsec (14.959 s) : 14959000, 14959000
. : milestone, 14959000,
iast (18.558 s) : 18558000, 18558000
. : milestone, 18558000,
iast_GLOBAL (18.027 s) : 18027000, 18027000
. : milestone, 18027000,
profiling (14.876 s) : 14876000, 14876000
. : milestone, 14876000,
tracing (14.668 s) : 14668000, 14668000
. : milestone, 14668000,
section candidate
no_agent (15.01 s) : 15010000, 15010000
. : milestone, 15010000,
appsec (14.732 s) : 14732000, 14732000
. : milestone, 14732000,
iast (17.861 s) : 17861000, 17861000
. : milestone, 17861000,
iast_GLOBAL (17.762 s) : 17762000, 17762000
. : milestone, 17762000,
profiling (14.986 s) : 14986000, 14986000
. : milestone, 14986000,
tracing (15.07 s) : 15070000, 15070000
. : milestone, 15070000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~514ce9250a, baseline=1.60.0-SNAPSHOT~5418feb23a
dateFormat X
axisFormat %s
section baseline
no_agent (1.47 ms) : 1459, 1482
. : milestone, 1470,
appsec (3.766 ms) : 3543, 3988
. : milestone, 3766,
iast (2.255 ms) : 2186, 2325
. : milestone, 2255,
iast_GLOBAL (2.299 ms) : 2229, 2370
. : milestone, 2299,
profiling (2.502 ms) : 2337, 2667
. : milestone, 2502,
tracing (2.067 ms) : 2013, 2121
. : milestone, 2067,
section candidate
no_agent (1.468 ms) : 1456, 1479
. : milestone, 1468,
appsec (3.784 ms) : 3560, 4008
. : milestone, 3784,
iast (2.248 ms) : 2178, 2318
. : milestone, 2248,
iast_GLOBAL (2.298 ms) : 2228, 2368
. : milestone, 2298,
profiling (2.075 ms) : 2020, 2130
. : milestone, 2075,
tracing (2.065 ms) : 2012, 2119
. : milestone, 2065,
|
ARCHITECTURE.md
Outdated
| Uploads profiles to the Datadog backend. | ||
|
|
||
| - **`agent-debugger/`** — Dynamic Instrumentation. Entry point: `DebuggerAgent`. | ||
| Live breakpoints, snapshot capture, exception replay, code origin mapping. |
There was a problem hiding this comment.
prefer the term of probes instead of 'Live breakpoint'
There was a problem hiding this comment.
Thanks! I updated the doc.
If you want to add more clarification later, feel free to append content or edit :)
c0fc51a to
514ce92
Compare
* feat(doc): Initial architecture documentation * feat(doc): Iterating on content * feat(doc): Add 2nd round of comments * feat(doc): Add 3rd round of comments * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Update agents.md to refer to the architecture file * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content
|
/merge |
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
* feat(doc): Initial architecture documentation * feat(doc): Iterating on content * feat(doc): Add 2nd round of comments * feat(doc): Add 3rd round of comments * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Update agents.md to refer to the architecture file * feat(doc): Iterate on content * feat(doc): Iterate on content * feat(doc): Iterate on content
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.