-
Notifications
You must be signed in to change notification settings - Fork 304
Automatically register crashtracking via native extensions #8851
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 11 performance improvements and 18 performance regressions! Performance is the same for 27 metrics, 15 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.018 s) : 0, 1018447
Total [baseline] (8.641 s) : 0, 8640880
Agent [candidate] (1.159 s) : 0, 1159054
Total [candidate] (8.78 s) : 0, 8780362
section iast
Agent [baseline] (1.158 s) : 0, 1157641
Total [baseline] (9.275 s) : 0, 9274792
Agent [candidate] (1.304 s) : 0, 1303518
Total [candidate] (9.345 s) : 0, 9345400
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.15 s) : 0, 1149832
Total [baseline] (9.201 s) : 0, 9201198
Agent [candidate] (1.296 s) : 0, 1295925
Total [candidate] (9.333 s) : 0, 9332685
section iast_TELEMETRY_OFF
Agent [baseline] (1.145 s) : 0, 1144564
Total [baseline] (9.209 s) : 0, 9209084
Agent [candidate] (1.288 s) : 0, 1287640
Total [candidate] (9.33 s) : 0, 9330195
gantt
title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (681.908 ms) : 0, 681908
BytebuddyAgent [candidate] (719.02 ms) : 0, 719020
GlobalTracer [baseline] (239.756 ms) : 0, 239756
GlobalTracer [candidate] (198.84 ms) : 0, 198840
AppSec [baseline] (54.226 ms) : 0, 54226
AppSec [candidate] (54.408 ms) : 0, 54408
Debugger [baseline] (6.221 ms) : 0, 6221
Debugger [candidate] (6.226 ms) : 0, 6226
Remote Config [baseline] (697.68 µs) : 0, 698
Remote Config [candidate] (658.212 µs) : 0, 658
Telemetry [baseline] (12.139 ms) : 0, 12139
Telemetry [candidate] (12.188 ms) : 0, 12188
section iast
BytebuddyAgent [baseline] (808.126 ms) : 0, 808126
BytebuddyAgent [candidate] (843.798 ms) : 0, 843798
GlobalTracer [baseline] (232.006 ms) : 0, 232006
GlobalTracer [candidate] (192.234 ms) : 0, 192234
IAST [baseline] (28.625 ms) : 0, 28625
IAST [candidate] (26.283 ms) : 0, 26283
AppSec [baseline] (50.78 ms) : 0, 50780
AppSec [candidate] (50.994 ms) : 0, 50994
Debugger [baseline] (5.969 ms) : 0, 5969
Debugger [candidate] (5.871 ms) : 0, 5871
Remote Config [baseline] (603.383 µs) : 0, 603
Remote Config [candidate] (595.335 µs) : 0, 595
Telemetry [baseline] (7.918 ms) : 0, 7918
Telemetry [candidate] (15.031 ms) : 0, 15031
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (802.181 ms) : 0, 802181
BytebuddyAgent [candidate] (837.103 ms) : 0, 837103
GlobalTracer [baseline] (230.899 ms) : 0, 230899
GlobalTracer [candidate] (192.818 ms) : 0, 192818
IAST [baseline] (29.355 ms) : 0, 29355
IAST [candidate] (28.238 ms) : 0, 28238
AppSec [baseline] (49.525 ms) : 0, 49525
AppSec [candidate] (49.283 ms) : 0, 49283
Debugger [baseline] (5.94 ms) : 0, 5940
Debugger [candidate] (5.901 ms) : 0, 5901
Remote Config [baseline] (602.605 µs) : 0, 603
Remote Config [candidate] (616.49 µs) : 0, 616
Telemetry [baseline] (7.839 ms) : 0, 7839
Telemetry [candidate] (13.564 ms) : 0, 13564
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (798.127 ms) : 0, 798127
BytebuddyAgent [candidate] (832.129 ms) : 0, 832129
GlobalTracer [baseline] (230.334 ms) : 0, 230334
GlobalTracer [candidate] (191.476 ms) : 0, 191476
IAST [baseline] (23.878 ms) : 0, 23878
IAST [candidate] (28.553 ms) : 0, 28553
AppSec [baseline] (54.253 ms) : 0, 54253
AppSec [candidate] (49.326 ms) : 0, 49326
Debugger [baseline] (5.968 ms) : 0, 5968
Debugger [candidate] (5.847 ms) : 0, 5847
Remote Config [baseline] (597.19 µs) : 0, 597
Remote Config [candidate] (588.3 µs) : 0, 588
Telemetry [baseline] (7.816 ms) : 0, 7816
Telemetry [candidate] (11.769 ms) : 0, 11769
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.022 s) : 0, 1021750
Total [baseline] (10.502 s) : 0, 10501948
Agent [candidate] (1.16 s) : 0, 1160378
Total [candidate] (10.539 s) : 0, 10538596
section appsec
Agent [baseline] (1.162 s) : 0, 1162178
Total [baseline] (10.678 s) : 0, 10678256
Agent [candidate] (1.291 s) : 0, 1291154
Total [candidate] (10.813 s) : 0, 10812804
section iast
Agent [baseline] (1.156 s) : 0, 1155975
Total [baseline] (10.886 s) : 0, 10885968
Agent [candidate] (1.295 s) : 0, 1295482
Total [candidate] (11.094 s) : 0, 11094487
section profiling
Agent [baseline] (1.286 s) : 0, 1286289
Total [baseline] (10.93 s) : 0, 10929909
Agent [candidate] (1.319 s) : 0, 1319282
Total [candidate] (10.968 s) : 0, 10968201
gantt
title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.511 ms) : 0, 684511
BytebuddyAgent [candidate] (719.821 ms) : 0, 719821
GlobalTracer [baseline] (240.997 ms) : 0, 240997
GlobalTracer [candidate] (198.538 ms) : 0, 198538
AppSec [baseline] (54.584 ms) : 0, 54584
AppSec [candidate] (54.39 ms) : 0, 54390
Debugger [baseline] (6.915 ms) : 0, 6915
Debugger [candidate] (6.189 ms) : 0, 6189
Remote Config [baseline] (710.287 µs) : 0, 710
Remote Config [candidate] (649.515 µs) : 0, 650
Telemetry [baseline] (10.529 ms) : 0, 10529
Telemetry [candidate] (12.969 ms) : 0, 12969
section appsec
BytebuddyAgent [baseline] (701.297 ms) : 0, 701297
BytebuddyAgent [candidate] (736.327 ms) : 0, 736327
GlobalTracer [baseline] (236.91 ms) : 0, 236910
GlobalTracer [candidate] (198.14 ms) : 0, 198140
AppSec [baseline] (175.614 ms) : 0, 175614
AppSec [candidate] (163.697 ms) : 0, 163697
Debugger [baseline] (5.942 ms) : 0, 5942
Debugger [candidate] (5.977 ms) : 0, 5977
Remote Config [baseline] (624.455 µs) : 0, 624
Remote Config [candidate] (636.401 µs) : 0, 636
Telemetry [baseline] (7.381 ms) : 0, 7381
Telemetry [candidate] (7.394 ms) : 0, 7394
IAST [baseline] (21.75 ms) : 0, 21750
IAST [candidate] (21.353 ms) : 0, 21353
section iast
BytebuddyAgent [baseline] (807.377 ms) : 0, 807377
BytebuddyAgent [candidate] (836.063 ms) : 0, 836063
GlobalTracer [baseline] (231.758 ms) : 0, 231758
GlobalTracer [candidate] (193.164 ms) : 0, 193164
AppSec [baseline] (49.672 ms) : 0, 49672
AppSec [candidate] (49.394 ms) : 0, 49394
Debugger [baseline] (5.91 ms) : 0, 5910
Debugger [candidate] (5.84 ms) : 0, 5840
Remote Config [baseline] (587.168 µs) : 0, 587
Remote Config [candidate] (591.56 µs) : 0, 592
Telemetry [baseline] (8.012 ms) : 0, 8012
Telemetry [candidate] (14.885 ms) : 0, 14885
IAST [baseline] (26.807 ms) : 0, 26807
IAST [candidate] (27.265 ms) : 0, 27265
section profiling
ProfilingAgent [baseline] (109.907 ms) : 0, 109907
ProfilingAgent [candidate] (107.796 ms) : 0, 107796
BytebuddyAgent [baseline] (675.9 ms) : 0, 675900
BytebuddyAgent [candidate] (746.257 ms) : 0, 746257
GlobalTracer [baseline] (380.019 ms) : 0, 380019
GlobalTracer [candidate] (216.253 ms) : 0, 216253
AppSec [baseline] (54.731 ms) : 0, 54731
AppSec [candidate] (61.867 ms) : 0, 61867
Debugger [baseline] (6.174 ms) : 0, 6174
Debugger [candidate] (6.012 ms) : 0, 6012
Remote Config [baseline] (668.401 µs) : 0, 668
Remote Config [candidate] (800.75 µs) : 0, 801
Telemetry [baseline] (8.193 ms) : 0, 8193
Telemetry [candidate] (8.056 ms) : 0, 8056
Profiling [baseline] (109.933 ms) : 0, 109933
Profiling [candidate] (107.82 ms) : 0, 107820
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section baseline
no_agent (1.347 ms) : 1327, 1367
. : milestone, 1347,
appsec (1.733 ms) : 1710, 1757
. : milestone, 1733,
appsec_no_iast (1.722 ms) : 1699, 1745
. : milestone, 1722,
code_origins (1.691 ms) : 1664, 1717
. : milestone, 1691,
iast (1.498 ms) : 1474, 1522
. : milestone, 1498,
profiling (1.532 ms) : 1509, 1555
. : milestone, 1532,
tracing (1.503 ms) : 1478, 1527
. : milestone, 1503,
section candidate
no_agent (1.348 ms) : 1328, 1368
. : milestone, 1348,
appsec (1.746 ms) : 1723, 1769
. : milestone, 1746,
appsec_no_iast (1.725 ms) : 1701, 1749
. : milestone, 1725,
code_origins (1.668 ms) : 1640, 1696
. : milestone, 1668,
iast (1.525 ms) : 1501, 1549
. : milestone, 1525,
profiling (1.512 ms) : 1488, 1535
. : milestone, 1512,
tracing (1.499 ms) : 1476, 1523
. : milestone, 1499,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section baseline
no_agent (377.939 µs) : 358, 397
. : milestone, 378,
iast (517.278 µs) : 495, 539
. : milestone, 517,
iast_FULL (733.599 µs) : 712, 756
. : milestone, 734,
iast_GLOBAL (562.864 µs) : 541, 585
. : milestone, 563,
iast_HARDCODED_SECRET_DISABLED (532.253 µs) : 508, 556
. : milestone, 532,
iast_INACTIVE (471.719 µs) : 450, 494
. : milestone, 472,
iast_TELEMETRY_OFF (511.592 µs) : 488, 535
. : milestone, 512,
tracing (463.122 µs) : 441, 485
. : milestone, 463,
section candidate
no_agent (389.634 µs) : 369, 410
. : milestone, 390,
iast (512.521 µs) : 490, 535
. : milestone, 513,
iast_FULL (738.222 µs) : 715, 761
. : milestone, 738,
iast_GLOBAL (571.995 µs) : 549, 595
. : milestone, 572,
iast_HARDCODED_SECRET_DISABLED (517.527 µs) : 494, 541
. : milestone, 518,
iast_INACTIVE (459.35 µs) : 437, 482
. : milestone, 459,
iast_TELEMETRY_OFF (510.5 µs) : 488, 533
. : milestone, 511,
tracing (460.987 µs) : 439, 483
. : milestone, 461,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section baseline
no_agent (1.469 ms) : 1458, 1481
. : milestone, 1469,
appsec (2.39 ms) : 2341, 2438
. : milestone, 2390,
iast (2.17 ms) : 2109, 2232
. : milestone, 2170,
iast_GLOBAL (2.214 ms) : 2153, 2275
. : milestone, 2214,
profiling (2.043 ms) : 1993, 2094
. : milestone, 2043,
tracing (2.005 ms) : 1957, 2052
. : milestone, 2005,
section candidate
no_agent (1.47 ms) : 1458, 1481
. : milestone, 1470,
appsec (2.391 ms) : 2343, 2440
. : milestone, 2391,
iast (2.184 ms) : 2122, 2246
. : milestone, 2184,
iast_GLOBAL (2.224 ms) : 2162, 2286
. : milestone, 2224,
profiling (2.015 ms) : 1966, 2065
. : milestone, 2015,
tracing (1.994 ms) : 1947, 2042
. : milestone, 1994,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~dc725c3ede, baseline=1.50.0-SNAPSHOT~ad6d5fef42
dateFormat X
axisFormat %s
section baseline
no_agent (14.964 s) : 14964000, 14964000
. : milestone, 14964000,
appsec (15.133 s) : 15133000, 15133000
. : milestone, 15133000,
iast (18.336 s) : 18336000, 18336000
. : milestone, 18336000,
iast_GLOBAL (18.068 s) : 18068000, 18068000
. : milestone, 18068000,
profiling (15.02 s) : 15020000, 15020000
. : milestone, 15020000,
tracing (14.932 s) : 14932000, 14932000
. : milestone, 14932000,
section candidate
no_agent (14.951 s) : 14951000, 14951000
. : milestone, 14951000,
appsec (15.0 s) : 15000000, 15000000
. : milestone, 15000000,
iast (18.909 s) : 18909000, 18909000
. : milestone, 18909000,
iast_GLOBAL (17.93 s) : 17930000, 17930000
. : milestone, 17930000,
profiling (15.241 s) : 15241000, 15241000
. : milestone, 15241000,
tracing (15.189 s) : 15189000, 15189000
. : milestone, 15189000,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The added dependencies on agent-bootstrap are not necessary.
Could you, please, make the tempdir location configurable? We've seen a handful of non-standard setups recently so let's better be ready for it.
And yes, the initialization is causing startup regression :( You will need to run it in a background thread.
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-crashtracking/src/main/java/com/datadog/crashtracking/Initializer.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
4378322
to
a8eeb0b
Compare
…e ddprof JAR dependency repeatedly
Co-authored-by: Jaroslav Bachorik <[email protected]>
Co-authored-by: Jaroslav Bachorik <[email protected]>
Co-authored-by: Jaroslav Bachorik <[email protected]>
…strap/Agent.java Co-authored-by: Jaroslav Bachorik <[email protected]>
3006c65
to
58ae723
Compare
I put this PR to draft state intentionally, not to merge it before 1.50.0 is released. |
What Does This Do
This PR
ddprof.jar
just the one time despite being used for multiple tracer featuresMotivation
We would like to automatically enable crashtracking.
Additional Notes
The native library loading behavior & interactions via the tracer's Java code have been documented in our internal wiki, see
"Loading of the
ddprofNative Library in dd-trace-java"
. We could potentially include these docs in this PR for external contributors.Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: PROF-11747 [PROF-10707] [PROF-11858]