sitespeedio / sitespeed.io

sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.
https://www.sitespeed.io/
MIT License
4.76k stars 602 forks source link

Firefox: ERROR: ScriptTimeoutError: Timed out #1956

Closed suratovvlad closed 6 years ago

suratovvlad commented 6 years ago

There is strange issue for https://lenta.ru/ website when sitespeed.io analyzes it with Firefox (Chrome is OK):

[2018-03-20 13:51:10] ERROR: ScriptTimeoutError: Timed out at Object.throwDecodedError (/usr/src/app/node_modules/selenium-webdriver/lib/error.js:514:15) at parseHttpResponse (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:519:13) at doSend.then.response (/usr/src/app/node_modules/selenium-webdriver/lib/http.js:441:30) at at process._tickCallback (internal/process/next_tick.js:188:7) at Driver.schedule (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:807:17) at Driver.executeAsyncScript (/usr/src/app/node_modules/selenium-webdriver/lib/webdriver.js:891:17) at Promise.try (/usr/src/app/node_modules/browsertime/lib/core/seleniumRunner.js:225:26) From previous event: at SeleniumRunner.runAsyncScript (/usr/src/app/node_modules/browsertime/lib/core/seleniumRunner.js:219:23) at FirefoxDelegate.onStopIteration (/usr/src/app/node_modules/browsertime/lib/core/engineDelegate/firefoxDelegate.js:46:36) at Promise.resolve.tap.tap.tap.tap.tap.tap.tap.tap.tap.results (/usr/src/app/node_modules/browsertime/lib/core/engine.js:282:37)

That how I'm starting sitespeed.io: docker run --rm sitespeedio/sitespeed.io:6.4.1 --browser firefox -n 1 --plugins.remove assets,browsertime,budget,crawler,domains,graphite,metrics,pagexray,text,tracestorer,coach,harstorer,html,screenshot --plugins.add browsertime --plugins.add metrics --plugins.add tracestorer --plugins.add pagexray --no-browsertime.video --no-browsertime.speedIndex --no-browsertime.skipHar --plugins.add graphite --graphite.namespace 'test_123' --graphite.host "192.168.112.24" --graphite.port 12003 https://lenta.ru/

soulgalore commented 6 years ago

Hi @suratovvlad it's is the HAR exporter that fails. Hopefully we will release a new version later today (using the new HAR export trigger https://github.com/devtools-html/har-export-trigger). I'll ping the issue when we release a new version ... but really good that you show the full CLI! I think --no-browsertime.skipHar isn't working, you should just use --browsertime.skipHarto not collect the HAR. The same with the other ones, set them to false instead.

Best Peter

suratovvlad commented 6 years ago

Hi @soulgalore Thanks for such quick response! Waiting for the new release, I hope it would be fixed) I actually want to collect HAR, and trying to forse skipHar parameter as false in such strange way to avoid future updates of sitespeed.io, if you make it true by default)

soulgalore commented 6 years ago

Sorry the new HAR exporter will not reach this release, seeing some unstable metrics that I want to make sure don't go out now. Best way you maybe can increase the timeout with --browsertime.timeouts.script TIME_IN_MS

Best Peter

suratovvlad commented 6 years ago

@soulgalore It's sad to hear it :( Thank you for the your great work! And thanks for advice.

I wonder is it possible to send data to Graphite before HAR is started generating? It would be nice, if different plugins wouldn't influence on each other!

soulgalore commented 6 years ago

I've just pushed so that in the coming 3.0 of Firefox we catch and continue if the HAR generation fails.

suratovvlad commented 6 years ago

@soulgalore Oh, thank you! Waiting the release)

soulgalore commented 6 years ago

Hope this will work better now in the new HAR export version!