Lighthouse problems

DebugBear analyses page using Lighthouse, as well as running custom logic.

Why don't my Lighthouse scores on DebugBear match my scores on web.dev?

There are a bunch of differences between Lighthouse and Lighthouse on web.dev, PageSpeed Insights, or Chrome DevTools:

  • how JavaScript execution is throttled
  • how the network is throttled
  • how fast the machine that runs the analysis is
  • where the server loading your website is located

One keys difference is that DebugBear directly throttles the computer's network connection, while Lighthouse normally laods the page without throttling and then simulates how it would have loaded on a slower connection. I wrote a blog post where you can learn more about the different throttling methods.

JavaScript throttling by Lighthouse is also normally simulated, while DebugBear use Chrome to slow down execution.

DebugBear's throttling is more realistic and gives you more opportunity to debug your problems.

The performance scores by Lighthouse gives you a better absolute indication of whether your site is fast. The scores measured with simulated throttling are calibrated against average performance across the web. If your site only gets a score of 65 on DebugBear but a score of 90 on web.dev that means your site is pretty fast.

Use DebugBear to track performance, identify opportunities, and understand why regressions happend.

No performance score and Time to Interactive value

If non-trivial bits of JavaScript code are running regularly after the initial page load you may get an NO_TTI_CPU_IDLE_PERIOD error from Lighthouse. Lighthouse is waiting for the CPU and network to be quiet, but never reaches a point where it considers the page fully interactive.

For example, this might happen if you have an JavaScript-based animation on your page.

Lighthouse report showing no time to interactive because there was no CPU idle period

To solve this issue, either remove or disable the code that his occupying the CPU, or disable it, for example by adding a query string like "?noAnimation" that is then acted on by your application code.

The "non-trivial" threshold used by Lighthouse is 50ms of execution time.


Still need help? Contact matt@debugbear.com for support.
© 2019 DebugBear Ltd