OpenTelemetryAuthenticatedPerformanceTest.php
Same filename in other branches
Namespace
Drupal\Tests\demo_umami\FunctionalJavascriptFile
-
core/
profiles/ demo_umami/ tests/ src/ FunctionalJavascript/ OpenTelemetryAuthenticatedPerformanceTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\demo_umami\FunctionalJavascript;
use Drupal\FunctionalJavascriptTests\PerformanceTestBase;
/**
* Tests demo_umami profile performance.
*
* @group OpenTelemetry
* @group #slow
* @requires extension apcu
*/
class OpenTelemetryAuthenticatedPerformanceTest extends PerformanceTestBase {
/**
* {@inheritdoc}
*/
protected $profile = 'demo_umami';
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$user = $this->drupalCreateUser();
$this->drupalLogin($user);
}
/**
* Logs front page tracing data with an authenticated user and warm cache.
*/
public function testFrontPageAuthenticatedWarmCache() : void {
$this->drupalGet('<front>');
$this->drupalGet('<front>');
$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"',
'SELECT "config"."name" AS "name" FROM "config" "config" WHERE ("collection" = "") AND ("name" LIKE "language.entity.%" ESCAPE ' . "'\\\\'" . ') ORDER BY "collection" ASC, "name" ASC',
];
$recorded_queries = $performance_data->getQueries();
$this->assertSame($expected_queries, $recorded_queries);
$expected = [
'QueryCount' => 4,
'CacheGetCount' => 40,
'CacheGetCountByBin' => [
'config' => 22,
'discovery' => 5,
'data' => 7,
'bootstrap' => 4,
'dynamic_page_cache' => 2,
],
'CacheSetCount' => 0,
'CacheDeleteCount' => 0,
'CacheTagChecksumCount' => 0,
'CacheTagIsValidCount' => 10,
'CacheTagInvalidationCount' => 0,
'CacheTagLookupQueryCount' => 5,
'ScriptCount' => 1,
'ScriptBytes' => 123850,
'StylesheetCount' => 2,
'StylesheetBytes' => 43600,
];
$this->assertMetrics($expected, $performance_data);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
OpenTelemetryAuthenticatedPerformanceTest | Tests demo_umami profile performance. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.