-
Notifications
You must be signed in to change notification settings - Fork 290
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
Fix dependency collection for new Spring Boot nested jars #7931
base: master
Are you sure you want to change the base?
Conversation
telemetry/src/main/java/datadog/telemetry/dependency/DependencyResolver.java
Outdated
Show resolved
Hide resolved
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 54 metrics, 9 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.086 s) : 0, 1085991
Total [baseline] (8.591 s) : 0, 8590977
Agent [candidate] (1.079 s) : 0, 1079035
Total [candidate] (8.571 s) : 0, 8571094
section iast
Agent [baseline] (1.212 s) : 0, 1211775
Total [baseline] (9.13 s) : 0, 9129513
Agent [candidate] (1.205 s) : 0, 1205266
Total [candidate] (9.13 s) : 0, 9129676
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.206 s) : 0, 1206331
Total [baseline] (9.131 s) : 0, 9131101
Agent [candidate] (1.215 s) : 0, 1214567
Total [candidate] (9.12 s) : 0, 9119554
section iast_TELEMETRY_OFF
Agent [baseline] (1.204 s) : 0, 1204362
Total [baseline] (9.158 s) : 0, 9157918
Agent [candidate] (1.201 s) : 0, 1200984
Total [candidate] (9.118 s) : 0, 9117963
gantt
title insecure-bank - break down per module: candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (691.923 ms) : 0, 691923
BytebuddyAgent [candidate] (685.632 ms) : 0, 685632
GlobalTracer [baseline] (314.415 ms) : 0, 314415
GlobalTracer [candidate] (314.534 ms) : 0, 314534
AppSec [baseline] (54.701 ms) : 0, 54701
AppSec [candidate] (53.924 ms) : 0, 53924
Remote Config [baseline] (683.447 µs) : 0, 683
Remote Config [candidate] (680.374 µs) : 0, 680
Telemetry [baseline] (10.533 ms) : 0, 10533
Telemetry [candidate] (10.617 ms) : 0, 10617
section iast
BytebuddyAgent [baseline] (807.051 ms) : 0, 807051
BytebuddyAgent [candidate] (801.568 ms) : 0, 801568
GlobalTracer [baseline] (305.109 ms) : 0, 305109
GlobalTracer [candidate] (304.184 ms) : 0, 304184
AppSec [baseline] (57.485 ms) : 0, 57485
AppSec [candidate] (57.177 ms) : 0, 57177
IAST [baseline] (20.328 ms) : 0, 20328
IAST [candidate] (20.641 ms) : 0, 20641
Remote Config [baseline] (612.763 µs) : 0, 613
Remote Config [candidate] (604.556 µs) : 0, 605
Telemetry [baseline] (7.48 ms) : 0, 7480
Telemetry [candidate] (7.451 ms) : 0, 7451
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (802.852 ms) : 0, 802852
BytebuddyAgent [candidate] (808.559 ms) : 0, 808559
GlobalTracer [baseline] (303.95 ms) : 0, 303950
GlobalTracer [candidate] (305.889 ms) : 0, 305889
AppSec [baseline] (57.305 ms) : 0, 57305
AppSec [candidate] (57.463 ms) : 0, 57463
IAST [baseline] (20.524 ms) : 0, 20524
IAST [candidate] (20.765 ms) : 0, 20765
Remote Config [baseline] (605.372 µs) : 0, 605
Remote Config [candidate] (609.967 µs) : 0, 610
Telemetry [baseline] (7.441 ms) : 0, 7441
Telemetry [candidate] (7.548 ms) : 0, 7548
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (800.554 ms) : 0, 800554
BytebuddyAgent [candidate] (798.047 ms) : 0, 798047
GlobalTracer [baseline] (304.27 ms) : 0, 304270
GlobalTracer [candidate] (303.232 ms) : 0, 303232
AppSec [baseline] (56.969 ms) : 0, 56969
AppSec [candidate] (56.274 ms) : 0, 56274
IAST [baseline] (20.934 ms) : 0, 20934
IAST [candidate] (21.833 ms) : 0, 21833
Remote Config [baseline] (589.632 µs) : 0, 590
Remote Config [candidate] (600.893 µs) : 0, 601
Telemetry [baseline] (7.359 ms) : 0, 7359
Telemetry [candidate] (7.375 ms) : 0, 7375
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.082 s) : 0, 1082168
Total [baseline] (10.399 s) : 0, 10398725
Agent [candidate] (1.08 s) : 0, 1079858
Total [candidate] (10.487 s) : 0, 10487484
section appsec
Agent [baseline] (1.214 s) : 0, 1213729
Total [baseline] (10.682 s) : 0, 10682207
Agent [candidate] (1.213 s) : 0, 1212898
Total [candidate] (10.652 s) : 0, 10651958
section iast
Agent [baseline] (1.221 s) : 0, 1221155
Total [baseline] (11.013 s) : 0, 11012826
Agent [candidate] (1.206 s) : 0, 1205823
Total [candidate] (10.954 s) : 0, 10954303
section profiling
Agent [baseline] (1.277 s) : 0, 1277122
Total [baseline] (10.782 s) : 0, 10782310
Agent [candidate] (1.286 s) : 0, 1285756
Total [candidate] (10.817 s) : 0, 10817016
gantt
title petclinic - break down per module: candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (688.32 ms) : 0, 688320
BytebuddyAgent [candidate] (686.612 ms) : 0, 686612
GlobalTracer [baseline] (315.079 ms) : 0, 315079
GlobalTracer [candidate] (315.006 ms) : 0, 315006
AppSec [baseline] (54.023 ms) : 0, 54023
AppSec [candidate] (53.992 ms) : 0, 53992
Remote Config [baseline] (679.581 µs) : 0, 680
Remote Config [candidate] (693.784 µs) : 0, 694
Telemetry [baseline] (10.452 ms) : 0, 10452
Telemetry [candidate] (9.889 ms) : 0, 9889
section appsec
BytebuddyAgent [baseline] (702.752 ms) : 0, 702752
BytebuddyAgent [candidate] (703.195 ms) : 0, 703195
GlobalTracer [baseline] (312.733 ms) : 0, 312733
GlobalTracer [candidate] (311.794 ms) : 0, 311794
AppSec [baseline] (167.369 ms) : 0, 167369
AppSec [candidate] (165.514 ms) : 0, 165514
IAST [baseline] (18.537 ms) : 0, 18537
IAST [candidate] (20.054 ms) : 0, 20054
Remote Config [baseline] (634.711 µs) : 0, 635
Remote Config [candidate] (631.606 µs) : 0, 632
Telemetry [baseline] (7.368 ms) : 0, 7368
Telemetry [candidate] (8.117 ms) : 0, 8117
section iast
BytebuddyAgent [baseline] (813.048 ms) : 0, 813048
BytebuddyAgent [candidate] (801.589 ms) : 0, 801589
GlobalTracer [baseline] (307.264 ms) : 0, 307264
GlobalTracer [candidate] (303.913 ms) : 0, 303913
AppSec [baseline] (56.492 ms) : 0, 56492
AppSec [candidate] (56.202 ms) : 0, 56202
IAST [baseline] (22.4 ms) : 0, 22400
IAST [candidate] (22.313 ms) : 0, 22313
Remote Config [baseline] (626.823 µs) : 0, 627
Remote Config [candidate] (619.636 µs) : 0, 620
Telemetry [baseline] (7.497 ms) : 0, 7497
Telemetry [candidate] (7.522 ms) : 0, 7522
section profiling
BytebuddyAgent [baseline] (680.792 ms) : 0, 680792
BytebuddyAgent [candidate] (685.656 ms) : 0, 685656
GlobalTracer [baseline] (398.695 ms) : 0, 398695
GlobalTracer [candidate] (400.519 ms) : 0, 400519
AppSec [baseline] (54.57 ms) : 0, 54570
AppSec [candidate] (54.711 ms) : 0, 54711
Remote Config [baseline] (663.987 µs) : 0, 664
Remote Config [candidate] (662.543 µs) : 0, 663
Telemetry [baseline] (13.981 ms) : 0, 13981
Telemetry [candidate] (13.362 ms) : 0, 13362
ProfilingAgent [baseline] (89.586 ms) : 0, 89586
ProfilingAgent [candidate] (91.703 ms) : 0, 91703
Profiling [baseline] (89.61 ms) : 0, 89610
Profiling [candidate] (91.727 ms) : 0, 91727
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section baseline
no_agent (1.339 ms) : 1318, 1360
. : milestone, 1339,
appsec (1.734 ms) : 1711, 1757
. : milestone, 1734,
appsec_no_iast (1.71 ms) : 1685, 1735
. : milestone, 1710,
iast (1.482 ms) : 1460, 1505
. : milestone, 1482,
profiling (1.512 ms) : 1488, 1536
. : milestone, 1512,
tracing (1.483 ms) : 1456, 1511
. : milestone, 1483,
section candidate
no_agent (1.342 ms) : 1322, 1361
. : milestone, 1342,
appsec (1.74 ms) : 1716, 1764
. : milestone, 1740,
appsec_no_iast (1.74 ms) : 1716, 1764
. : milestone, 1740,
iast (1.486 ms) : 1464, 1509
. : milestone, 1486,
profiling (1.477 ms) : 1454, 1500
. : milestone, 1477,
tracing (1.481 ms) : 1458, 1505
. : milestone, 1481,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section baseline
no_agent (372.946 µs) : 353, 393
. : milestone, 373,
iast (486.452 µs) : 465, 508
. : milestone, 486,
iast_FULL (643.122 µs) : 622, 664
. : milestone, 643,
iast_GLOBAL (507.889 µs) : 487, 529
. : milestone, 508,
iast_HARDCODED_SECRET_DISABLED (487.404 µs) : 466, 509
. : milestone, 487,
iast_INACTIVE (443.946 µs) : 423, 465
. : milestone, 444,
iast_TELEMETRY_OFF (472.114 µs) : 451, 493
. : milestone, 472,
tracing (438.562 µs) : 418, 459
. : milestone, 439,
section candidate
no_agent (369.613 µs) : 349, 390
. : milestone, 370,
iast (483.587 µs) : 462, 505
. : milestone, 484,
iast_FULL (641.663 µs) : 620, 663
. : milestone, 642,
iast_GLOBAL (506.133 µs) : 485, 527
. : milestone, 506,
iast_HARDCODED_SECRET_DISABLED (484.005 µs) : 463, 505
. : milestone, 484,
iast_INACTIVE (452.901 µs) : 432, 473
. : milestone, 453,
iast_TELEMETRY_OFF (474.161 µs) : 453, 495
. : milestone, 474,
tracing (439.428 µs) : 419, 460
. : milestone, 439,
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.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section baseline
no_agent (1.478 ms) : 1467, 1490
. : milestone, 1478,
appsec (2.356 ms) : 2314, 2398
. : milestone, 2356,
iast (2.08 ms) : 2028, 2132
. : milestone, 2080,
iast_GLOBAL (2.128 ms) : 2075, 2181
. : milestone, 2128,
profiling (1.952 ms) : 1910, 1993
. : milestone, 1952,
tracing (1.937 ms) : 1896, 1977
. : milestone, 1937,
section candidate
no_agent (1.474 ms) : 1462, 1485
. : milestone, 1474,
appsec (2.332 ms) : 2291, 2373
. : milestone, 2332,
iast (2.092 ms) : 2039, 2144
. : milestone, 2092,
iast_GLOBAL (2.126 ms) : 2074, 2178
. : milestone, 2126,
profiling (1.94 ms) : 1899, 1981
. : milestone, 1940,
tracing (1.933 ms) : 1893, 1974
. : milestone, 1933,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~09380a8c2a, baseline=1.43.0-SNAPSHOT~0ab886489d
dateFormat X
axisFormat %s
section baseline
no_agent (15.055 s) : 15055000, 15055000
. : milestone, 15055000,
appsec (15.122 s) : 15122000, 15122000
. : milestone, 15122000,
iast (18.764 s) : 18764000, 18764000
. : milestone, 18764000,
iast_GLOBAL (18.111 s) : 18111000, 18111000
. : milestone, 18111000,
profiling (14.836 s) : 14836000, 14836000
. : milestone, 14836000,
tracing (15.097 s) : 15097000, 15097000
. : milestone, 15097000,
section candidate
no_agent (15.384 s) : 15384000, 15384000
. : milestone, 15384000,
appsec (15.272 s) : 15272000, 15272000
. : milestone, 15272000,
iast (18.776 s) : 18776000, 18776000
. : milestone, 18776000,
iast_GLOBAL (18.368 s) : 18368000, 18368000
. : milestone, 18368000,
profiling (15.33 s) : 15330000, 15330000
. : milestone, 15330000,
tracing (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
|
fde702a
to
0445e6d
Compare
telemetry/src/main/java/datadog/telemetry/dependency/DependencyResolver.java
Show resolved
Hide resolved
telemetry/src/main/java/datadog/telemetry/dependency/DependencyResolver.java
Outdated
Show resolved
Hide resolved
d020c03
to
b2084bc
Compare
b2084bc
to
09380a8
Compare
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.
LGTM!
What Does This Do
Add support for new Spring Boot loader jars (using
jar:nested:
URLs) on dependency collection.Motivation
Additional Notes
Some more info at https://docs.spring.io/spring-boot/specification/executable-jar/jarfile-class.html
It seems we could optimize access to these nested jars.
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 issue[ ] Update the public documentation in case of new configuration flag or behaviorJira ticket: APPSEC-55773