Compass Tracing Identifies Components Behind Uncacheable Drupal Pages
Compass is being extended to help Drupal developers identify which component is associated with an uncacheable page response. Nick Schuch, lead architect of Skpr, described the work in a 14 September 2026 technical post after investigating requests carrying X-Drupal-Dynamic-Cache: UNCACHEABLE (poor cacheability). Drupal's Dynamic Page Cache can mark a response this way when its cacheability falls outside configured conditions, including a sufficiently low max-age or specified cache contexts and tags.
In the Skpr architecture Schuch describes, an edge-cache hit can conceal the problem because the CDN may still serve the completed response quickly. An edge miss can become much more expensive when Dynamic Page Cache has no reusable response underneath and Drupal has to build the page again. Compass, Skpr's open-source PHP telemetry system built with eBPF, Rust and Go, is being extended so its terminal interface can flag affected traces and expose request timing, cache tags, contexts and the caller associated with the cacheability metadata. In Schuch's example, the trace points to the Umami language switcher block as the component associated with a zero-second cache lifetime.
The cacheability tracing work is still being integrated rather than presented as a completed Skpr CLI feature. Schuch says the Compass extension and tracing tool have been through review and benchmarking, with deployment to local development environments planned first and Skpr CLI integration to follow. The aim is to turn a production symptom that might otherwise require log searching and manual investigation into a trace developers can inspect directly. Schuch provides the Drupal core code path, cacheability explanation and Compass screenshots in Tracing Drupal's uncacheable pages with Compass.


