Skip to content

Optimize Projects::JobsController spec

Allison Browne requested to merge ab-optimize-jobs-controller-spec into master

What does this MR do and why?

Speeds up Projects::JobsController spec by about 35 seconds.

This MR doesn't have an issue.

Before:

[TEST PROF INFO] Time spent in factories: 00:37.970 (48.85% of total time)
[TEST PROF INFO] Factories usage

 Total: 818
 Total top-level: 429
 Total time: 00:37.970 (out of 01:26.481)
 Total uniq factories: 27

   total   top-level     total time      time per call      top-level time               name

     189         188       17.5546s            0.0929s            17.5341s           ci_build
     160           0        0.9259s            0.0058s             0.0000s           ci_stage
     160         127       12.1457s            0.0759s             3.2396s        ci_pipeline
      77           0        1.7818s            0.0231s             0.0000s    ci_job_artifact
      35           3       13.0108s            0.3717s             4.8011s            project
      35           0        4.2376s            0.1211s             0.0000s          namespace
      30          30        8.5640s            0.2855s             8.5640s      merge_request
      20          16        1.8340s            0.0917s             1.4601s               user
      19           1        1.4629s            0.0770s             0.1253s              owner
      18           7        1.4714s            0.0817s             0.5208s         ci_trigger
      18           7        1.0193s            0.0566s             0.0243s ci_trigger_request
      16          16        0.4351s            0.0272s             0.4351s ci_instance_variable
      11          11        0.2943s            0.0268s             0.2943s   protected_branch
       6           6        0.0433s            0.0072s             0.0433s ci_pipeline_variable
       5           5        0.1604s            0.0321s             0.1604s          ci_runner
       4           4        0.0831s            0.0208s             0.0831s          ci_bridge
       3           3        0.0293s            0.0098s             0.0293s project_build_artifacts_size_refresh
       3           0        0.5460s            0.1820s             0.0000s            cluster
       1           1        0.0109s            0.0109s             0.0109s            license
       1           1        0.0601s            0.0601s             0.0601s              admin
       1           1        0.0524s            0.0524s             0.0524s        environment
       1           1        0.4458s            0.4458s             0.4458s         deployment
       1           0        0.1041s            0.1041s             0.0000s cluster_provider_gcp
       1           0        0.1473s            0.1473s             0.0000s cluster_platform_kubernetes
       1           1        0.0867s            0.0867s             0.0867s              group
       1           0        0.0040s            0.0040s             0.0000s namespace_settings
       1           0        0.0054s            0.0054s             0.0000s namespace_ci_cd_settings

After:

[TEST PROF INFO] Time spent in factories: 00:13.100 (28.56% of total time)
[TEST PROF INFO] Factories usage

 Total: 558
 Total top-level: 306
 Total time: 00:13.100 (out of 00:53.341)
 Total uniq factories: 28

   total   top-level     total time      time per call      top-level time               name

     190         188        7.1224s            0.0375s             6.8672s           ci_build
     161           1        0.8995s            0.0056s             0.1019s           ci_stage
      78           1        1.6730s            0.0214s             0.2782s    ci_job_artifact
      28          27        0.4951s            0.0177s             0.3613s        ci_pipeline
      17          17        0.9134s            0.0537s             0.9134s               user
      16          16        0.1994s            0.0125s             0.1994s ci_instance_variable
      11          11        0.2845s            0.0259s             0.2845s   protected_branch
       8           8        0.0517s            0.0065s             0.0517s ci_trigger_request
       8           7        0.0647s            0.0081s             0.0471s         ci_trigger
       6           3        1.9660s            0.3277s             1.7028s            project
       6           6        0.0381s            0.0064s             0.0381s ci_pipeline_variable
       5           5        0.1480s            0.0296s             0.1480s          ci_runner
       4           4        0.0754s            0.0189s             0.0754s          ci_bridge
       3           3        0.0173s            0.0058s             0.0173s project_build_artifacts_size_refresh
       3           0        0.1793s            0.0598s             0.0000s            cluster
       2           2        0.1110s            0.0555s             0.1110s              owner
       1           1        0.0072s            0.0072s             0.0072s            license
       1           1        0.9215s            0.9215s             0.9215s      merge_request
       1           1        0.0369s            0.0369s             0.0369s              admin
       1           0        0.0989s            0.0989s             0.0000s  ci_empty_pipeline
       1           1        0.0537s            0.0537s             0.0537s        environment
       1           1        0.2271s            0.2271s             0.2271s         deployment
       1           0        0.0421s            0.0421s             0.0000s cluster_provider_gcp
       1           0        0.0657s            0.0657s             0.0000s cluster_platform_kubernetes
       1           1        0.0741s            0.0741s             0.0741s              group
       1           0        0.0038s            0.0038s             0.0000s namespace_settings
       1           0        0.0042s            0.0042s             0.0000s namespace_ci_cd_settings
       1           1        0.5830s            0.5830s             0.5830s          namespace
Edited by Allison Browne

Merge request reports

Loading