function OpenTelemetryAuthenticatedPerformanceTest::doTestFrontPageAuthenticatedWarmCache

Logs front page tracing data with an authenticated user and warm cache.

1 call to OpenTelemetryAuthenticatedPerformanceTest::doTestFrontPageAuthenticatedWarmCache()
OpenTelemetryAuthenticatedPerformanceTest::testAuthenticatedPerformance in core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryAuthenticatedPerformanceTest.php
Logs authenticated tracing data.

File

core/profiles/demo_umami/tests/src/FunctionalJavascript/OpenTelemetryAuthenticatedPerformanceTest.php, line 42

Class

OpenTelemetryAuthenticatedPerformanceTest
Tests demo_umami profile performance.

Namespace

Drupal\Tests\demo_umami\FunctionalJavascript

Code

protected function doTestFrontPageAuthenticatedWarmCache() : void {
  $user = $this->drupalCreateUser();
  $this->drupalLogin($user);
  $this->drupalGet('<front>');
  sleep(2);
  $this->drupalGet('<front>');
  sleep(2);
  $performance_data = $this->collectPerformanceData(function () {
    $this->drupalGet('<front>');
  }, 'authenticatedFrontPage');
  $expected_queries = [
    'SELECT "session" FROM "sessions" WHERE "sid" = "SESSION_ID" LIMIT 0, 1',
    'SELECT * FROM "users_field_data" "u" WHERE "u"."uid" = "10" AND "u"."default_langcode" = 1',
    'SELECT "roles_target_id" FROM "user__roles" WHERE "entity_id" = "10"',
  ];
  $recorded_queries = $performance_data->getQueries();
  $this->assertSame($expected_queries, $recorded_queries);
  $expected = [
    'QueryCount' => 3,
    'CacheGetCount' => 44,
    'CacheGetCountByBin' => [
      'config' => 22,
      'bootstrap' => 7,
      'discovery' => 5,
      'data' => 5,
      'dynamic_page_cache' => 2,
      'menu' => 1,
      'render' => 2,
    ],
    'CacheSetCount' => 0,
    'CacheDeleteCount' => 0,
    'CacheTagInvalidationCount' => 0,
    'CacheTagLookupQueryCount' => 5,
    'ScriptCount' => 1,
    'ScriptBytes' => 13150,
    'StylesheetCount' => 2,
    'StylesheetBytes' => 39163,
  ];
  $this->assertMetrics($expected, $performance_data);
}

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