Improves groups controller specs
What does this MR do and why?
Improves groups controller specs using let_it_be
instead of let
.
Changelog: performance
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Before
[TEST PROF INFO] Time spent in factories: 01:04.680 (35.31% of total time)
[TEST PROF INFO] Factories usage
Total: 1125
Total top-level: 513
Total time: 01:04.680 (out of 03:12.616)
Total uniq factories: 14
total top-level total time time per call top-level time name
448 218 19.1127s 0.0427s 9.3906s user
137 59 18.0729s 0.1319s 14.0642s cluster
104 104 33.8241s 0.3252s 33.8241s project
104 0 9.7167s 0.0934s 0.0000s namespace
61 61 5.5279s 0.0906s 5.5279s group
61 0 0.3277s 0.0054s 0.0000s namespace_settings
61 0 0.2209s 0.0036s 0.0000s namespace_ci_cd_settings
42 42 1.1475s 0.0273s 1.1475s milestone
42 0 2.2416s 0.0534s 0.0000s cluster_provider_gcp
36 0 5.2665s 0.1463s 0.0000s cluster_platform_kubernetes
14 14 0.5744s 0.0410s 0.5744s admin
11 11 0.1016s 0.0092s 0.1016s cluster_kubernetes_namespace
3 3 0.0232s 0.0077s 0.0232s license
1 1 0.0269s 0.0269s 0.0269s oauth_application
Now
[TEST PROF INFO] Time spent in factories: 00:16.083 (12.73% of total time)
[TEST PROF INFO] Factories usage
Total: 403
Total top-level: 161
Total time: 00:16.083 (out of 02:16.087)
Total uniq factories: 14
total top-level total time time per call top-level time name
158 56 6.6986s 0.0424s 2.6326s user
97 39 11.6822s 0.1204s 9.0539s cluster
32 32 0.9487s 0.0296s 0.9487s milestone
32 0 1.6030s 0.0501s 0.0000s cluster_provider_gcp
26 0 3.1356s 0.1206s 0.0000s cluster_platform_kubernetes
14 14 0.5613s 0.0401s 0.5613s admin
9 9 0.8486s 0.0943s 0.8486s group
9 0 0.0271s 0.0030s 0.0000s namespace_ci_cd_settings
9 0 0.0576s 0.0064s 0.0000s namespace_settings
6 6 1.9808s 0.3301s 1.9808s project
6 0 0.4928s 0.0821s 0.0000s namespace
3 3 0.0205s 0.0068s 0.0205s license
1 1 0.0148s 0.0148s 0.0148s cluster_kubernetes_namespace
1 1 0.0227s 0.0227s 0.0227s oauth_application
How to set up and validate locally
- Checkout the branch
- Execute the following command!
FPROF=1 bundle exec rspec spec/controllers/groups/settings/applications_controller_spec.rb spec/controllers/groups/clusters_controller_spec.rb spec/controllers/groups/milestones_controller_spec.rb
- Verify that specs are running as expected
🎉
Edited by Bojan Marjanovic