ara
Advanced Render Auditor (ARA) is a site-wide render tree profiler for Drupal. It decorates \Drupal\Core\Render\Renderer to record one entry per rendered element — including render time, database queries, cache keys/tags/contexts, and the tree of inheriting elements for each cache lineitem. While active, it renders a floating results panel at the bottom of every page with a summary bar, filter/threshold controls, color-coded rows, inline cache metadata inspection, and click-through to the originating row for any inherited tag or context. Optionally prepends a small severity-colored badge to each element on the page.
Local development only. This module swaps the core renderer service and instruments every doRender() call while it is active. Never enable it outside of local development. A runtime requirements check surfaces a warning on the Status Report whenever the profiler is enabled.
Requirements
- Drupal core
^10 || ^11 - No additional contrib module dependencies
Installation
Install as you would normally install a contributed Drupal module. For further information, see Installing Drupal Modules.
Configuration
- Navigate to Administration > People > Permissions and grant Use Advanced Render Auditor profiler to your admin role.
- Navigate to Administration > Configuration > Development > Advanced Render Auditor profiler.
- Toggle Enable profiler site-wide.
- Optionally enable Display annotations and set an Annotation display threshold (milliseconds) to hide fast elements.
- Reload any page and the results panel will appear at the bottom.
A render call is profiled only when all of the following are true:
- Config
ara.settings.enabledisTRUE. - The current user has the
use ara profilerpermission.
When either fails, ProfilingRenderer::doRender() short-circuits to the parent implementation on the very first line — overhead is one boolean check per render call.
Configuration fields
Field Descriptionenabled
Master switch.
display_annotations
Render severity-colored badges above rendered elements.
annotation_threshold_ms
Hide annotations below this threshold (rows still appear in the panel).
Troubleshooting
Panel does not appear. Verify the config switch is on and that the current user has the use ara profiler permission. Clear the cache with ddev drush cr after enabling.
Status Report warning. The profiler is enabled. Disable it at /admin/config/development/ara; the warning will clear automatically.
BigPipe-streamed elements missing from the panel. Lazy-builder placeholders that resolve after hook_page_bottom are not captured. Disable BigPipe temporarily to profile those elements.
FAQ
Q: Can I safely leave it enabled in production?
A: No. The decorator instruments every doRender() call and adds significant overhead. The runtime requirements check will warn you on the Status Report whenever the module is enabled.
Maintainers
- Dany Almeida Kairouz - dany.almeida.kairouz