Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

The Real-time Performance Monitor module acts as an automated, lightweight, real-time diagnostic watchdog for your Drupal website. It monitors backend database queries, custom PHP execution layers, and frontend rendering metrics directly from actual user traffic, triggering instant alerts via Email or Slack when performance thresholds are breached.

Unlike complex application performance monitoring (APM) tools that require heavy daemon installations, this custom module uses Drupal’s internal architecture to catch bottlenecks on the fly without introducing production overhead.

Key Features

  • Slow SQL Query Detector: Tracks every single query executed on a page view. If a specific query takes longer than your configured millisecond limit, it logs the full SQL statement alongside the exact page URL.
  • Duplicate Query ($N+1$) Alerting: Identifies redundant database requests. If the identical query is run more than X times on a single page lifecycle, an alert is triggered containing a clean breakdown of execution counts and the offending SQL string.
  • PHP Backtrace Watchdog ("Bad Function" Locator): Monitors total backend processing engine times. If a custom hook, unoptimized loop, or slow external API bottleneck slows down a request, the module triggers a snapshot backtrace up to 15 levels deep—identifying the exact custom file name, function, and line number causing the delay.
  • Frontend Telemetry Monitor: Utilizes the browser's native PerformanceNavigationTiming API to measure exact page rendering limits, DOM interactive times, and incoming file sizes for compiled CSS/JS assets.
  • Multi-Channel Alerts: Supports comma-delimited notification routing to multiple administrative email addresses and handles standard asynchronous JSON payloads straight into Slack incoming webhooks.

Configuration

Once enabled, administrators can manage global performance tolerances and notification endpoints directly through a centralized dashboard interface located at:
Administer > Configuration > Development > Real-time Performance Monitor Settings (/admin/config/development/performance-monitor)

You can fully customize:

  1. SQL Execution time thresholds (in milliseconds).
  2. Maximum allowable duplicate queries per request loop.
  3. Maximum PHP engine threshold time before firing an internal stack trace.
  4. Total browser page render timeouts.
  5. Notification preferences (Email and Slack channels).

Requirements

  • Drupal 10 or 11.
  • Core Database and Core Mail systems.

Installation

Install the module via Composer as you would with any custom or contributed extension:

composer require drupal/realtime_performance_monitor
drush pm:enable realtime_performance_monitor

Maintainers & Contributions

Developed and maintained by [Your Name/Organization Name].
Contributions, issue reports, and feature requests (such as OpenTelemetry integrations or database-specific logging optimizations) are welcome in the project's issue queue.

Activity

Total releases
2
First release
Jun 2026
Latest release
1 hour ago
Release cadence
1 day
Stability
50% stable

Releases

Version Type Release date
1.0.0 Stable Jun 5, 2026
1.0.x-dev Dev Jun 4, 2026