-
Notifications
You must be signed in to change notification settings - Fork 304
Add PR performance gate #8970
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?
Add PR performance gate #8970
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 7 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.035 s) : 0, 1034885
Total [baseline] (10.66 s) : 0, 10659818
Agent [candidate] (1.029 s) : 0, 1028966
Total [candidate] (10.558 s) : 0, 10558415
section appsec
Agent [baseline] (1.185 s) : 0, 1185494
Total [baseline] (10.656 s) : 0, 10656420
Agent [candidate] (1.182 s) : 0, 1181973
Total [candidate] (10.832 s) : 0, 10831634
section iast
Agent [baseline] (1.158 s) : 0, 1157755
Total [baseline] (10.841 s) : 0, 10840980
Agent [candidate] (1.157 s) : 0, 1156889
Total [candidate] (10.863 s) : 0, 10863346
section profiling
Agent [baseline] (1.27 s) : 0, 1269712
Total [baseline] (10.83 s) : 0, 10830419
Agent [candidate] (1.273 s) : 0, 1273273
Total [candidate] (10.872 s) : 0, 10872021
gantt
title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (688.935 ms) : 0, 688935
BytebuddyAgent [candidate] (684.347 ms) : 0, 684347
GlobalTracer [baseline] (242.342 ms) : 0, 242342
GlobalTracer [candidate] (241.752 ms) : 0, 241752
AppSec [baseline] (60.17 ms) : 0, 60170
AppSec [candidate] (59.72 ms) : 0, 59720
Debugger [baseline] (6.169 ms) : 0, 6169
Debugger [candidate] (6.121 ms) : 0, 6121
Remote Config [baseline] (748.419 µs) : 0, 748
Remote Config [candidate] (730.515 µs) : 0, 731
Telemetry [baseline] (12.798 ms) : 0, 12798
Telemetry [candidate] (12.888 ms) : 0, 12888
section appsec
BytebuddyAgent [baseline] (711.015 ms) : 0, 711015
BytebuddyAgent [candidate] (707.821 ms) : 0, 707821
GlobalTracer [baseline] (236.007 ms) : 0, 236007
GlobalTracer [candidate] (235.617 ms) : 0, 235617
AppSec [baseline] (179.131 ms) : 0, 179131
AppSec [candidate] (179.477 ms) : 0, 179477
Debugger [baseline] (5.873 ms) : 0, 5873
Debugger [candidate] (5.837 ms) : 0, 5837
Remote Config [baseline] (609.303 µs) : 0, 609
Remote Config [candidate] (604.341 µs) : 0, 604
Telemetry [baseline] (7.304 ms) : 0, 7304
Telemetry [candidate] (7.245 ms) : 0, 7245
IAST [baseline] (21.963 ms) : 0, 21963
IAST [candidate] (21.796 ms) : 0, 21796
section iast
BytebuddyAgent [baseline] (805.787 ms) : 0, 805787
BytebuddyAgent [candidate] (805.455 ms) : 0, 805455
GlobalTracer [baseline] (231.61 ms) : 0, 231610
GlobalTracer [candidate] (231.556 ms) : 0, 231556
AppSec [baseline] (56.091 ms) : 0, 56091
AppSec [candidate] (54.125 ms) : 0, 54125
Debugger [baseline] (6.036 ms) : 0, 6036
Debugger [candidate] (6.035 ms) : 0, 6035
Remote Config [baseline] (606.37 µs) : 0, 606
Remote Config [candidate] (597.789 µs) : 0, 598
Telemetry [baseline] (7.889 ms) : 0, 7889
Telemetry [candidate] (7.949 ms) : 0, 7949
IAST [baseline] (26.188 ms) : 0, 26188
IAST [candidate] (27.702 ms) : 0, 27702
section profiling
ProfilingAgent [baseline] (105.621 ms) : 0, 105621
ProfilingAgent [candidate] (106.827 ms) : 0, 106827
BytebuddyAgent [baseline] (674.5 ms) : 0, 674500
BytebuddyAgent [candidate] (676.246 ms) : 0, 676246
GlobalTracer [baseline] (359.148 ms) : 0, 359148
GlobalTracer [candidate] (359.827 ms) : 0, 359827
AppSec [baseline] (64.744 ms) : 0, 64744
AppSec [candidate] (64.568 ms) : 0, 64568
Debugger [baseline] (6.18 ms) : 0, 6180
Debugger [candidate] (6.123 ms) : 0, 6123
Remote Config [baseline] (656.431 µs) : 0, 656
Remote Config [candidate] (647.845 µs) : 0, 648
Telemetry [baseline] (8.214 ms) : 0, 8214
Telemetry [candidate] (8.14 ms) : 0, 8140
Profiling [baseline] (105.645 ms) : 0, 105645
Profiling [candidate] (106.851 ms) : 0, 106851
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.03 s) : 0, 1029508
Total [baseline] (8.528 s) : 0, 8527831
Agent [candidate] (1.027 s) : 0, 1027289
Total [candidate] (8.528 s) : 0, 8527590
section iast
Agent [baseline] (1.153 s) : 0, 1153012
Total [baseline] (9.224 s) : 0, 9223582
Agent [candidate] (1.154 s) : 0, 1153703
Total [candidate] (9.212 s) : 0, 9212242
gantt
title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (685.66 ms) : 0, 685660
BytebuddyAgent [candidate] (684.117 ms) : 0, 684117
GlobalTracer [baseline] (241.887 ms) : 0, 241887
GlobalTracer [candidate] (241.206 ms) : 0, 241206
AppSec [baseline] (58.663 ms) : 0, 58663
AppSec [candidate] (58.478 ms) : 0, 58478
Debugger [baseline] (6.173 ms) : 0, 6173
Debugger [candidate] (6.171 ms) : 0, 6171
Remote Config [baseline] (748.96 µs) : 0, 749
Remote Config [candidate] (743.136 µs) : 0, 743
Telemetry [baseline] (12.841 ms) : 0, 12841
Telemetry [candidate] (13.091 ms) : 0, 13091
section iast
BytebuddyAgent [baseline] (803.145 ms) : 0, 803145
BytebuddyAgent [candidate] (802.845 ms) : 0, 802845
GlobalTracer [baseline] (230.393 ms) : 0, 230393
GlobalTracer [candidate] (230.813 ms) : 0, 230813
AppSec [baseline] (53.182 ms) : 0, 53182
AppSec [candidate] (55.154 ms) : 0, 55154
Debugger [baseline] (5.954 ms) : 0, 5954
Debugger [candidate] (6.033 ms) : 0, 6033
Remote Config [baseline] (591.311 µs) : 0, 591
Remote Config [candidate] (605.848 µs) : 0, 606
Telemetry [baseline] (7.936 ms) : 0, 7936
Telemetry [candidate] (7.981 ms) : 0, 7981
IAST [baseline] (28.463 ms) : 0, 28463
IAST [candidate] (26.843 ms) : 0, 26843
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 10 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section baseline
no_agent (36.905 ms) : 36610, 37201
. : milestone, 36905,
appsec (46.569 ms) : 46153, 46985
. : milestone, 46569,
code_origins (45.631 ms) : 45250, 46012
. : milestone, 45631,
iast (45.317 ms) : 44924, 45711
. : milestone, 45317,
profiling (49.833 ms) : 49366, 50300
. : milestone, 49833,
tracing (43.955 ms) : 43600, 44310
. : milestone, 43955,
section candidate
no_agent (37.756 ms) : 37460, 38052
. : milestone, 37756,
appsec (46.338 ms) : 45926, 46749
. : milestone, 46338,
code_origins (45.471 ms) : 45118, 45824
. : milestone, 45471,
iast (44.95 ms) : 44544, 45356
. : milestone, 44950,
profiling (48.45 ms) : 47992, 48907
. : milestone, 48450,
tracing (45.039 ms) : 44658, 45419
. : milestone, 45039,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section baseline
no_agent (4.327 ms) : 4278, 4377
. : milestone, 4327,
iast (9.364 ms) : 9210, 9518
. : milestone, 9364,
iast_FULL (13.914 ms) : 13634, 14194
. : milestone, 13914,
iast_GLOBAL (10.054 ms) : 9878, 10229
. : milestone, 10054,
profiling (8.639 ms) : 8503, 8774
. : milestone, 8639,
tracing (7.537 ms) : 7428, 7646
. : milestone, 7537,
section candidate
no_agent (4.282 ms) : 4228, 4336
. : milestone, 4282,
iast (9.713 ms) : 9554, 9872
. : milestone, 9713,
iast_FULL (13.986 ms) : 13709, 14263
. : milestone, 13986,
iast_GLOBAL (10.177 ms) : 9988, 10365
. : milestone, 10177,
profiling (9.423 ms) : 9270, 9576
. : milestone, 9423,
tracing (7.934 ms) : 7814, 8054
. : milestone, 7934,
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~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section baseline
no_agent (1.478 ms) : 1467, 1490
. : milestone, 1478,
appsec (2.415 ms) : 2366, 2464
. : milestone, 2415,
iast (2.199 ms) : 2138, 2260
. : milestone, 2199,
iast_GLOBAL (2.235 ms) : 2174, 2296
. : milestone, 2235,
profiling (2.035 ms) : 1986, 2084
. : milestone, 2035,
tracing (2.017 ms) : 1970, 2064
. : milestone, 2017,
section candidate
no_agent (1.475 ms) : 1464, 1487
. : milestone, 1475,
appsec (2.408 ms) : 2359, 2456
. : milestone, 2408,
iast (2.199 ms) : 2138, 2260
. : milestone, 2199,
iast_GLOBAL (2.238 ms) : 2176, 2299
. : milestone, 2238,
profiling (2.061 ms) : 2010, 2111
. : milestone, 2061,
tracing (2.005 ms) : 1958, 2052
. : milestone, 2005,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~5bf274c473, baseline=1.50.0-SNAPSHOT~712d5c320e
dateFormat X
axisFormat %s
section baseline
no_agent (15.344 s) : 15344000, 15344000
. : milestone, 15344000,
appsec (15.007 s) : 15007000, 15007000
. : milestone, 15007000,
iast (18.65 s) : 18650000, 18650000
. : milestone, 18650000,
iast_GLOBAL (17.993 s) : 17993000, 17993000
. : milestone, 17993000,
profiling (15.099 s) : 15099000, 15099000
. : milestone, 15099000,
tracing (15.076 s) : 15076000, 15076000
. : milestone, 15076000,
section candidate
no_agent (14.963 s) : 14963000, 14963000
. : milestone, 14963000,
appsec (14.71 s) : 14710000, 14710000
. : milestone, 14710000,
iast (19.066 s) : 19066000, 19066000
. : milestone, 19066000,
iast_GLOBAL (17.94 s) : 17940000, 17940000
. : milestone, 17940000,
profiling (15.809 s) : 15809000, 15809000
. : milestone, 15809000,
tracing (14.838 s) : 14838000, 14838000
. : milestone, 14838000,
|
f806916
to
4aeb1c8
Compare
…on-regression.yml path
.gitlab/benchmarks.yml
Outdated
artifacts: true | ||
when: on_success | ||
tags: ["arch:amd64"] | ||
allow_failure: true # Exercise the job before making it mandatory |
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.
todo: From @ddyurchenko
Could you please rebase your PR on the latest master and remove
allow_failure: true
from gating job?
In worst case scenario if we block something that should not be blocked, there is a label mechanism to bypass the gate
Ignore mechanism in bp-runner
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.
Thanks for flagging it! We need to remove allow_failure: true
, the bypass mechanism inside bp-runner is specified in https://datadoghq.atlassian.net/wiki/spaces/APMINT/pages/5158175217/Performance+quality+gates+-+User+Guide#How-to-bypass%3F.
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.
Looks good! Both cases where gates should block and where they should let pass work. ✔️
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.
Can you link doc about it?
Gate skippable via performance/ignore-performance-regression label
Is that a GitHub issue label? If so, is it configurable as it does not fit our usual pattern?
@PerfectSlayer The bypass link is mentioned in @ddyurchenko's comment, I added it in the PR description.
Yes.
I already brought this to @ddyurchenko, this is something to be addressed in bp-runner PR (which is not merged yet). (Hence the higher threshold at this time). |
What Does This Do
Adds a PR Gate
Motivation
Additional Notes
Depends on
Gate skippable via
performance/ignore-performance-regression
label,bp-runner
PR still in progress.=> https://datadoghq.atlassian.net/wiki/x/8YFzMwE
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: [PROJ-IDENT]