1.3.0: database collector
Adds opt-in database query instrumentation as a fourth correlation
panel alongside backend cache, render tree, and edge cache.
- DatabaseInstrumentor: Drupal\Core\Database\Log subclass that counts
queries, total time, slow queries (>= configurable threshold), and
slowest single query without storing query text.
- DatabaseCollector: Shape 2 (async-decoration) + Shape 4 (panel
contribution). Wires the instrumentor onto the default connection
at kernel.request, finalises counters at kernel.terminate, attaches
to the later-arriving beacon via AsyncContextStore.
- BeaconStorage::correlateByDatabaseQueryCount(): bucketed median
aggregation (0-25, 26-100, 101-300, 301-1000, 1001+) for each CWV
metric, mirroring the backend-cache and render-tree correlation
shapes.
- Two new config keys via cwv_update_10035:
database_instrumentation_enabled (default false)
database_slow_query_threshold_ms (default 100)
Trade-off: Drupal Connection supports a single logger at a time.
Enabling cwv database instrumentation replaces any other database
logger (devel query log, webprofiler) for the lifetime of the
request. Operators who need both should leave this disabled.