Problem/Motivation

Same thing as #3463288: Consolidate test methods in StandardPerformanceTest.

The additional advantage if this works for the OpenTelemetry* tests is the performance test runner (a single dedicated gitlab runner) which can only run one set of tests at a time, and only at single concurrency to try to get consistent numbers, currently takes 13 minutes to complete all the tests it runs, and if we can cut that by a quarter, we should be able to generate consistent graphs for both the 11.x and 10.4.x branches.

See https://gander.tag1.io/ which currently only shows stats for 11.x due to this limitation.

I've also removed the Umami PerformanceTest because it's duplicating coverage from the node/front page/auth/asset tests now.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Issue fork drupal-3463351

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

catch created an issue. See original summary.

catch’s picture

Status: Active » Needs review
catch’s picture

Title: Consolidate methods in OpenTelemetryNodePagePerformanceTest » Consolidate Umami performance tests

Had test failures that only happened on gitlab and not locally, tried various attempts at sleep() to see if it was a race condition all of which failed. What worked was changing a full ::rebuildAll() to just emptying cache bins (i.e. skipping router, twig and container rebuild mostly). Given we have a successful cold cache test where it really does start just after a full rebuilt, it's a pretty minimal change to the test to get the timings down.

catch’s picture

Issue summary: View changes

This gets the second of two FunctionalJavascript jobs down to ~3m20s from about ~4m10s usually and will allow the special performance test runner job to finish a fair bit quicker too - although won't be able to see by how much until after it's committed.

https://git.drupalcode.org/project/drupal/-/jobs/2210833

heddn’s picture

Status: Needs review » Reviewed & tested by the community

Essentially the same tests before/after. #4 makes sense. LGTM.

  • nod_ committed fd1bcbe5 on 10.4.x
    Issue #3463351 by catch, heddn: Consolidate Umami performance tests
    
    (...

  • nod_ committed 27fcad90 on 11.x
    Issue #3463351 by catch, heddn: Consolidate Umami performance tests
    
nod_’s picture

Version: 11.x-dev » 10.4.x-dev
Status: Reviewed & tested by the community » Fixed

Committed and pushed 27fcad90d9 to 11.x and fd1bcbe5aa to 10.4.x. Thanks!

catch’s picture

Version: 10.4.x-dev » 11.0.x-dev
Status: Fixed » Patch (to be ported)

Due to the way #3462763: Use artifacts to share the phpstan result and cspell caches from core to MRs / gitlab artifacts / the performance test job interact, I had to move the main performance jobs to 11.0.x/10.3.x instead of 11.x/10.4.x at least for now. Given that, it'd be useful to backport this to 11.0.x too.

  • catch committed 1dec664d on 10.3.x authored by nod_
    Issue #3463351 by catch, heddn: Consolidate Umami performance tests
    

  • catch committed 791ab90f on 11.0.x authored by nod_
    Issue #3463351 by catch, heddn: Consolidate Umami performance tests
    
catch’s picture

Version: 11.0.x-dev » 10.3.x-dev
Status: Patch (to be ported) » Fixed

went ahead and backported this to 10.3.x to keep things in sync (and save some CI minutes).

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.