Profile Drupal requests, Drush commands, cron, and queue workers from one integration
Perfbase gives Drupal teams production-grade visibility into page performance, background jobs, and configuration-heavy workloads without hand-rolling Drupal observability.
Why teams choose Perfbase for Drupal
Drupal-aware route naming and config handling
Supports Drush, cron, and queue workers
Admin settings plus settings.php overrides
Drupal
Performance monitoring for Drupal 10 and 11 sites
Supported versions
Drupal 10.3+ and 11
Quick install
composer require perfbase/drupalStarter config
# settings.php
$settings['perfbase'] = [
'enabled' => TRUE,
'api_key' => 'your-api-key',
];Use cases
Why teams use Perfbase for Drupal
Perfbase is built for teams that need more than a local debug toolbar. It brings production-facing traces, framework-specific context, and shared visibility across the slow paths that matter most in Drupal.
Make Drupal page latency easier to explain
See which routes, decorators, and database calls are stretching response time across real user traffic.
Stop treating cron and queues as black boxes
Profile cron runs and queue workers with the same tooling you use for request analysis.
Work with Drupal, not around it
Use configuration and admin patterns that fit Drupal instead of bolting on a generic tracing experience.
Profiling coverage
What gets profiled and how Perfbase works in Drupal
Perfbase stays framework-aware while keeping setup light. These are the behaviors and operational paths this integration is built to expose.
HTTP profiling
Automatic profiling via kernel event subscriber with route-template span naming.
Drush and console profiling
Profile Drush commands and Symfony console commands from the same integration.
Cron profiling
Drupal cron runs are profiled via service decoration.
Queue worker profiling
Every queue worker is automatically wrapped so queue items are profiled consistently.
Admin config form
Configure Perfbase from Configuration > Development > Perfbase.
Three-layer config
Module defaults, admin UI, and settings.php overrides work together cleanly.
Setup preview
How to get started with Perfbase in Drupal
Start with install, configuration, and the first framework-specific profiling steps here. When you want full implementation detail, each card links directly into the complete guide.
Installation
Install the Perfbase PHP extension first. This is what does the actual profiling:
Open docs section →
Configuration
Configure via the admin UI at Configuration > Development > Perfbase, or override in settings.php for environment-specific values:
Open docs section →
HTTP profiling
HTTP requests are profiled automatically via a kernel event subscriber. The subscriber hooks into four Symfony kernel events:
Open docs section →
Queue worker profiling
Queue item processing is profiled by wrapping every queue worker via a custom QueueWorkerManager. Each item processed gets its own span named queue.{pluginid} (e.g., queue.mymoduleworker). Enabled by default.
Open docs section →
FAQ
Drupal profiler and performance monitoring FAQ
Can Perfbase profile Drush commands and cron runs?
Yes. Perfbase is built to cover Drupal operations beyond page requests, including Drush commands, cron executions, and queue processing.
Will settings.php still override admin UI values?
Yes. Perfbase follows Drupal-friendly configuration behavior so settings.php remains the strongest source of configuration when you need hard overrides.
Does Perfbase help with Drupal queue workers?
Yes. Queue workers are wrapped automatically, which makes it much easier to spot slow jobs and background regressions.
Start profiling
Ready to start profiling production traffic?
Create a project, install the package, and start capturing framework-level traces in minutes.