function OpenTelemetryFrontPagePerformanceTest::testFrontPageHotCache

Same name and namespace in other branches
  1. 11.x core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryFrontPagePerformanceTest.php \Drupal\Tests\demo_umami\FunctionalJavascript\OpenTelemetryFrontPagePerformanceTest::testFrontPageHotCache()

Logs front page tracing data with a hot cache.

Hot here means that all possible caches are warmed.

1 call to OpenTelemetryFrontPagePerformanceTest::testFrontPageHotCache()
OpenTelemetryFrontPagePerformanceTest::testFrontPagePerformance in core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryFrontPagePerformanceTest.php
Tests performance of the Umami demo front page.

File

core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryFrontPagePerformanceTest.php, line 53

Class

OpenTelemetryFrontPagePerformanceTest
Tests demo_umami profile performance.

Namespace

Drupal\Tests\demo_umami\FunctionalJavascript

Code

protected function testFrontPageHotCache() : void {
  // Request the page twice so that asset aggregates and image derivatives are
  // definitely cached in the browser cache. The first response builds the
  // file and serves from PHP with private, no-store headers. The second
  // request will get the file served directly from disk by the browser with
  // cacheable headers, so only the third request actually has the files
  // in the browser cache.
  $this->drupalGet('<front>');
  $this->drupalGet('<front>');
  $performance_data = $this->collectPerformanceData(function () {
    $this->drupalGet('<front>');
  }, 'umamiFrontPageHotCache');
  $this->assertSession()
    ->pageTextContains('Umami');
  $expected_queries = [];
  $recorded_queries = $performance_data->getQueries();
  $this->assertSame($expected_queries, $recorded_queries);
  $this->assertSame(0, $performance_data->getQueryCount());
  $this->assertSame(1, $performance_data->getCacheGetCount());
  $this->assertSame(0, $performance_data->getCacheSetCount());
  $this->assertSame(0, $performance_data->getCacheDeleteCount());
  $this->assertSame(0, $performance_data->getCacheTagChecksumCount());
  $this->assertSame(1, $performance_data->getCacheTagIsValidCount());
  $this->assertSame(0, $performance_data->getCacheTagInvalidationCount());
  $this->assertSame(1, $performance_data->getScriptCount());
  $this->assertLessThan(12000, $performance_data->getScriptBytes());
  $this->assertSame(2, $performance_data->getStylesheetCount());
  $this->assertLessThan(42000, $performance_data->getStylesheetBytes());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.