-
Notifications
You must be signed in to change notification settings - Fork 293
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
Optimize Git repository information computation #8270
Conversation
Moving repeated null path computation into static variable. This change provides a 3% improvement on span creation benchmarks.
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
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.
Nice improvement
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 4 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055663
Total [baseline] (10.522 s) : 0, 10521835
Agent [candidate] (1.058 s) : 0, 1057540
Total [candidate] (10.503 s) : 0, 10502594
section appsec
Agent [baseline] (1.188 s) : 0, 1188312
Total [baseline] (10.768 s) : 0, 10768443
Agent [candidate] (1.192 s) : 0, 1192112
Total [candidate] (10.785 s) : 0, 10784912
section iast
Agent [baseline] (1.186 s) : 0, 1185608
Total [baseline] (10.961 s) : 0, 10960868
Agent [candidate] (1.186 s) : 0, 1186187
Total [candidate] (10.994 s) : 0, 10994315
section profiling
Agent [baseline] (1.258 s) : 0, 1258027
Total [baseline] (10.881 s) : 0, 10880789
Agent [candidate] (1.273 s) : 0, 1272770
Total [candidate] (10.935 s) : 0, 10934551
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.748 ms) : 0, 714748
BytebuddyAgent [candidate] (715.348 ms) : 0, 715348
GlobalTracer [baseline] (256.06 ms) : 0, 256060
GlobalTracer [candidate] (255.937 ms) : 0, 255937
AppSec [baseline] (56.313 ms) : 0, 56313
AppSec [candidate] (56.377 ms) : 0, 56377
Remote Config [baseline] (740.141 µs) : 0, 740
Remote Config [candidate] (738.386 µs) : 0, 738
Telemetry [baseline] (12.929 ms) : 0, 12929
Telemetry [candidate] (14.145 ms) : 0, 14145
section appsec
BytebuddyAgent [baseline] (731.009 ms) : 0, 731009
BytebuddyAgent [candidate] (733.521 ms) : 0, 733521
GlobalTracer [baseline] (252.816 ms) : 0, 252816
GlobalTracer [candidate] (253.64 ms) : 0, 253640
AppSec [baseline] (170.75 ms) : 0, 170750
AppSec [candidate] (171.118 ms) : 0, 171118
Remote Config [baseline] (660.654 µs) : 0, 661
Remote Config [candidate] (670.433 µs) : 0, 670
Telemetry [baseline] (8.502 ms) : 0, 8502
Telemetry [candidate] (8.455 ms) : 0, 8455
IAST [baseline] (19.243 ms) : 0, 19243
IAST [candidate] (19.346 ms) : 0, 19346
section iast
BytebuddyAgent [baseline] (833.182 ms) : 0, 833182
BytebuddyAgent [candidate] (834.246 ms) : 0, 834246
GlobalTracer [baseline] (247.527 ms) : 0, 247527
GlobalTracer [candidate] (247.343 ms) : 0, 247343
AppSec [baseline] (58.529 ms) : 0, 58529
AppSec [candidate] (58.305 ms) : 0, 58305
Remote Config [baseline] (679.272 µs) : 0, 679
Remote Config [candidate] (672.749 µs) : 0, 673
Telemetry [baseline] (8.812 ms) : 0, 8812
Telemetry [candidate] (8.821 ms) : 0, 8821
IAST [baseline] (21.855 ms) : 0, 21855
IAST [candidate] (21.634 ms) : 0, 21634
section profiling
ProfilingAgent [baseline] (95.832 ms) : 0, 95832
ProfilingAgent [candidate] (96.606 ms) : 0, 96606
BytebuddyAgent [baseline] (705.662 ms) : 0, 705662
BytebuddyAgent [candidate] (714.164 ms) : 0, 714164
GlobalTracer [baseline] (350.071 ms) : 0, 350071
GlobalTracer [candidate] (354.875 ms) : 0, 354875
AppSec [baseline] (54.941 ms) : 0, 54941
AppSec [candidate] (54.864 ms) : 0, 54864
Remote Config [baseline] (725.639 µs) : 0, 726
Remote Config [candidate] (738.565 µs) : 0, 739
Telemetry [baseline] (8.761 ms) : 0, 8761
Telemetry [candidate] (8.914 ms) : 0, 8914
Profiling [baseline] (95.856 ms) : 0, 95856
Profiling [candidate] (96.632 ms) : 0, 96632
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1054259
Total [baseline] (8.613 s) : 0, 8613282
Agent [candidate] (1.055 s) : 0, 1055453
Total [candidate] (8.657 s) : 0, 8657349
section iast
Agent [baseline] (1.184 s) : 0, 1184078
Total [baseline] (9.237 s) : 0, 9237428
Agent [candidate] (1.186 s) : 0, 1185572
Total [candidate] (9.257 s) : 0, 9256866
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.184 s) : 0, 1184313
Total [baseline] (9.19 s) : 0, 9189681
Agent [candidate] (1.19 s) : 0, 1190463
Total [candidate] (9.203 s) : 0, 9202807
section iast_TELEMETRY_OFF
Agent [baseline] (1.181 s) : 0, 1181151
Total [baseline] (9.235 s) : 0, 9234994
Agent [candidate] (1.18 s) : 0, 1180139
Total [candidate] (9.193 s) : 0, 9192536
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.131 ms) : 0, 715131
BytebuddyAgent [candidate] (714.011 ms) : 0, 714011
GlobalTracer [baseline] (255.654 ms) : 0, 255654
GlobalTracer [candidate] (255.339 ms) : 0, 255339
AppSec [baseline] (55.598 ms) : 0, 55598
AppSec [candidate] (55.581 ms) : 0, 55581
Remote Config [baseline] (751.926 µs) : 0, 752
Remote Config [candidate] (738.143 µs) : 0, 738
Telemetry [baseline] (12.22 ms) : 0, 12220
Telemetry [candidate] (14.835 ms) : 0, 14835
section iast
BytebuddyAgent [baseline] (832.924 ms) : 0, 832924
BytebuddyAgent [candidate] (833.843 ms) : 0, 833843
GlobalTracer [baseline] (247.239 ms) : 0, 247239
GlobalTracer [candidate] (247.694 ms) : 0, 247694
AppSec [baseline] (58.134 ms) : 0, 58134
AppSec [candidate] (58.032 ms) : 0, 58032
Remote Config [baseline] (659.499 µs) : 0, 659
Remote Config [candidate] (661.76 µs) : 0, 662
Telemetry [baseline] (8.722 ms) : 0, 8722
Telemetry [candidate] (8.736 ms) : 0, 8736
IAST [baseline] (21.367 ms) : 0, 21367
IAST [candidate] (21.521 ms) : 0, 21521
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (832.544 ms) : 0, 832544
BytebuddyAgent [candidate] (836.145 ms) : 0, 836145
GlobalTracer [baseline] (247.253 ms) : 0, 247253
GlobalTracer [candidate] (249.302 ms) : 0, 249302
AppSec [baseline] (58.306 ms) : 0, 58306
AppSec [candidate] (58.72 ms) : 0, 58720
Remote Config [baseline] (680.581 µs) : 0, 681
Remote Config [candidate] (677.889 µs) : 0, 678
Telemetry [baseline] (8.834 ms) : 0, 8834
Telemetry [candidate] (8.904 ms) : 0, 8904
IAST [baseline] (21.608 ms) : 0, 21608
IAST [candidate] (21.635 ms) : 0, 21635
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (830.544 ms) : 0, 830544
BytebuddyAgent [candidate] (829.765 ms) : 0, 829765
GlobalTracer [baseline] (246.97 ms) : 0, 246970
GlobalTracer [candidate] (246.83 ms) : 0, 246830
AppSec [baseline] (58.166 ms) : 0, 58166
AppSec [candidate] (58.062 ms) : 0, 58062
Remote Config [baseline] (673.647 µs) : 0, 674
Remote Config [candidate] (670.417 µs) : 0, 670
Telemetry [baseline] (8.643 ms) : 0, 8643
Telemetry [candidate] (8.716 ms) : 0, 8716
IAST [baseline] (21.123 ms) : 0, 21123
IAST [candidate] (21.094 ms) : 0, 21094
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.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section baseline
no_agent (1.37 ms) : 1350, 1389
. : milestone, 1370,
appsec (1.753 ms) : 1730, 1777
. : milestone, 1753,
appsec_no_iast (1.747 ms) : 1722, 1772
. : milestone, 1747,
iast (1.508 ms) : 1483, 1533
. : milestone, 1508,
profiling (1.522 ms) : 1499, 1545
. : milestone, 1522,
tracing (1.485 ms) : 1460, 1509
. : milestone, 1485,
section candidate
no_agent (1.361 ms) : 1342, 1380
. : milestone, 1361,
appsec (1.74 ms) : 1716, 1763
. : milestone, 1740,
appsec_no_iast (1.767 ms) : 1741, 1792
. : milestone, 1767,
iast (1.515 ms) : 1490, 1540
. : milestone, 1515,
profiling (1.564 ms) : 1539, 1590
. : milestone, 1564,
tracing (1.499 ms) : 1471, 1527
. : milestone, 1499,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section baseline
no_agent (380.198 µs) : 360, 400
. : milestone, 380,
iast (506.901 µs) : 485, 529
. : milestone, 507,
iast_FULL (745.549 µs) : 724, 767
. : milestone, 746,
iast_GLOBAL (553.73 µs) : 531, 576
. : milestone, 554,
iast_HARDCODED_SECRET_DISABLED (505.073 µs) : 484, 526
. : milestone, 505,
iast_INACTIVE (457.617 µs) : 436, 479
. : milestone, 458,
iast_TELEMETRY_OFF (494.392 µs) : 473, 516
. : milestone, 494,
tracing (454.534 µs) : 433, 476
. : milestone, 455,
section candidate
no_agent (372.548 µs) : 352, 393
. : milestone, 373,
iast (510.409 µs) : 489, 532
. : milestone, 510,
iast_FULL (747.538 µs) : 726, 769
. : milestone, 748,
iast_GLOBAL (558.571 µs) : 537, 581
. : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (507.557 µs) : 486, 529
. : milestone, 508,
iast_INACTIVE (462.561 µs) : 441, 484
. : milestone, 463,
iast_TELEMETRY_OFF (494.026 µs) : 472, 516
. : milestone, 494,
tracing (453.244 µs) : 432, 474
. : milestone, 453,
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.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
. : milestone, 1467,
appsec (2.342 ms) : 2300, 2385
. : milestone, 2342,
iast (2.098 ms) : 2044, 2152
. : milestone, 2098,
iast_GLOBAL (2.142 ms) : 2088, 2197
. : milestone, 2142,
profiling (1.975 ms) : 1931, 2019
. : milestone, 1975,
tracing (1.937 ms) : 1896, 1979
. : milestone, 1937,
section candidate
no_agent (1.466 ms) : 1454, 1477
. : milestone, 1466,
appsec (2.355 ms) : 2312, 2398
. : milestone, 2355,
iast (2.088 ms) : 2034, 2142
. : milestone, 2088,
iast_GLOBAL (2.147 ms) : 2093, 2202
. : milestone, 2147,
profiling (1.954 ms) : 1911, 1998
. : milestone, 1954,
tracing (1.937 ms) : 1896, 1979
. : milestone, 1937,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
dateFormat X
axisFormat %s
section baseline
no_agent (15.041 s) : 15041000, 15041000
. : milestone, 15041000,
appsec (15.091 s) : 15091000, 15091000
. : milestone, 15091000,
iast (18.697 s) : 18697000, 18697000
. : milestone, 18697000,
iast_GLOBAL (17.843 s) : 17843000, 17843000
. : milestone, 17843000,
profiling (14.972 s) : 14972000, 14972000
. : milestone, 14972000,
tracing (14.941 s) : 14941000, 14941000
. : milestone, 14941000,
section candidate
no_agent (15.402 s) : 15402000, 15402000
. : milestone, 15402000,
appsec (15.068 s) : 15068000, 15068000
. : milestone, 15068000,
iast (18.889 s) : 18889000, 18889000
. : milestone, 18889000,
iast_GLOBAL (18.046 s) : 18046000, 18046000
. : milestone, 18046000,
profiling (15.711 s) : 15711000, 15711000
. : milestone, 15711000,
tracing (15.057 s) : 15057000, 15057000
. : milestone, 15057000,
|
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.
That's a lot perf for a single change 👍
What Does This Do
Moves computation of git repository null path into static variable
Motivation
Provides a 3% improvement on span creation benchmarks