Audits or metrics are missing when Lighthouse was not able to collect them during testing due to errors (some of specific errors are documented on the Troubleshooting failing tests page). Commonly, these errors occur when a page has a specific set of characteristics, such as:
The Lighthouse Performance Score is calculated using five metrics:
If any of these metrics can’t be retrieved by Lighthouse, the Performance Score won’t be calculated. It’s not uncommon for the interactivity (JavaScript execution-related) metrics contributing to the score, such as Total Blocking Time, to not be present in a given test, especially if it’s conducted with mobile Test Profiles. Mobile devices have less capable CPUs, less powerful batteries and different network connections.
For the interactivity metrics to be collected, the JavaScript main thread has to have no activity for a certain period of time (the main thread is at rest). For Time to Interactive, that period is 5 seconds. Missing TTI reading will result in no Total Blocking Time reading, and consequently, no Performance Score.
To make sure Performance Score is collected, we’d recommend having a look at JavaScript performance. You can investigate it on the Long Task Timeline to check for blocking tasks and scripts that might be at fault. You can also profile performance directly in your browser developer tools.
Calibre has three test modes that ensure each Snapshot returns key performance metrics, even in cases when Lighthouse raises an error. By default, all tests are run in Standard Mode, however if a test fails due to a Lighthouse Timeout Error, Calibre will automatically re-run the test in Compatibility Mode. Here’s a summary of each test mode type:
Test information | Standard Mode | Reduced Audits | Minimum Audits |
---|---|---|---|
Performance Audits | ✅ Yes | ✅ Yes | ✅ Yes |
Accessibility Audits | ✅ Yes | ❌ No | ❌ No |
Best Practices Audits | ✅ Yes | ❌ No | ❌ No |
SEO Audits | ✅ Yes | ❌ No | ❌ No |
Third Party Audits | ✅ Yes | ✅ Yes | ❌ No |
Long Task Timeline | ✅ Yes | ✅ Yes | ❌ No |
On this page