Add performance tests for admin/content

Created on 24 September 2024, 9 months ago

Problem/Motivation

The admin/content page is quite central to Drupal core and uses views, so we should add performance test coverage for it.

To test the page, we need some content on it, so it's easiest to add this test coverage in Umami. For example:

Drupal\Tests\demo_umami\FunctionalJavascript\UmamiAdminContentTest::testPerformance()~

Other Umami and standard performance tests can be used as examples.

OpenTelemetryNodePagePerformanceTest
OpenTelemetryFrontPagePerformanceTest

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

πŸ“Œ Task
Status

Active

Version

11.0 πŸ”₯

Component

phpunit

Created by

πŸ‡¬πŸ‡§United Kingdom catch

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @catch
  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia
  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia
  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia
  • Merge request !9604/admin/content performance test β†’ (Open) created by pfrenssen
  • Pipeline finished with Failed
    9 months ago
    Total: 157s
    #292318
  • Pipeline finished with Canceled
    9 months ago
    Total: 1125s
    #292331
  • Pipeline finished with Success
    9 months ago
    Total: 2292s
    #292342
  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia

    Implemented a cold/warm test. Testing a range of values for the cold test so we don't fail too quickly on minor changes.

  • First commit to issue fork.
  • πŸ‡ΊπŸ‡ΈUnited States smustgrave

    1 super nitpicky void return, added just straight to the MR.

    Pipeline was appearing green
    Looking at the number, to the best of my knowledge, seem like good ranges
    Believe this is good coverage

  • Pipeline finished with Failed
    9 months ago
    Total: 806s
    #293333
  • πŸ‡ΊπŸ‡ΈUnited States smustgrave

    Actually seems 1 range is failing.

  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia

    Thanks! I'll do another iteration on this. I managed in another issue to get a fully stable result ( πŸ“Œ Add assertions to OpenTelemetryFrontPagePerformanceTest::testFrontPageColdCache() Active ), I will use the same tactic here.

  • πŸ‡ΊπŸ‡ΈUnited States smustgrave

    Cool, I remember looking at one of these months ago and think maybe the ranges just needed to be expanded slightly

  • Pipeline finished with Failed
    9 months ago
    Total: 200s
    #293409
  • Pipeline finished with Success
    8 months ago
    Total: 543s
    #294093
  • πŸ‡§πŸ‡¬Bulgaria pfrenssen Sofia
  • πŸ‡ΊπŸ‡ΈUnited States smustgrave

    Came here from πŸ“Œ Add performance test coverage for menu UI Active and since it probably would be best to get this in first I'll review this first.

    Cleaned up the issue summary to show a test trait is also being updated.

    Left some comments on the MR.

  • Pipeline finished with Failed
    8 months ago
    Total: 161s
    #313882
  • Pipeline finished with Failed
    8 months ago
    Total: 142s
    #313889
  • Pipeline finished with Failed
    8 months ago
    Total: 137s
    #313899
  • Pipeline finished with Success
    8 months ago
    Total: 1254s
    #313902
  • πŸ‡ΊπŸ‡ΈUnited States smustgrave

    Tons of noice but I took 1 comment back and addressed OpenTelemetryNodePagePerformanceTest replacement.

  • πŸ‡¬πŸ‡§United Kingdom catch

    Ran the test locally and got:

    1) Drupal\Tests\demo_umami\FunctionalJavascript\OpenTelemetryAdminContentPerformanceTest::testAdminContentWarmCache
    Failed asserting that 234 matches expected 235.
    

    We might need a range there too?

    Would be nice to reduce the ranges on the cold cache method if we're able to make that more reliable, but that could happen in a follow-up.

    The class name does not need to have OpenTelemetry on it - that only applies to tests that send tracing data to open telemetry, which this one doesn't. Just AdminContentPerformanceTest seems fine.

Production build 0.71.5 2024