sitespeedio / chrome-har

Create HAR files from Chrome Debugging Protocol data
MIT License
151 stars 50 forks source link

How to include the "_error" in the HAR file? #74

Open flyisland opened 4 years ago

flyisland commented 4 years ago

This issue is copied from https://github.com/sitespeedio/sitespeed.io/issues/3132

Hi, my targeted website includes some pictures that are blocked by the firewall, so that there some errors like "_error": "net::ERR_TIMED_OUT" or "_error": "net::ERR_CONNECTION_RESET" in the HAR file generated by the Chrome DevTools.

But I can not find any such errors in the HAR file generated by the sitespeed.io on the same website pages while there is this error:

ERROR: Failed waiting on page to finished loading, timed out after 300000 ms BrowserError: Running page complete check

Is it possible to ask the sitespeed.io tool to include the "_error" in the HAR file?

flyisland commented 4 years ago

$ sitespeed.io --browsertime.chrome.collectPerfLog -n 1 https://solace.com/cn/ [2020-08-23 22:16:10] INFO: Versions OS: darwin 19.6.0 nodejs: v14.4.0 sitespeed.io: 14.3.0 browsertime: 9.3.0 coach: 5.1.1 [2020-08-23 22:16:10] INFO: Running tests using Chrome - 1 iteration(s) [2020-08-23 22:16:12] INFO: Testing url https://solace.com/cn/ iteration 1 [2020-08-23 22:21:12] ERROR: Failed waiting on page to finished loading, timed out after 300000 ms BrowserError: Running page complete check return (function(waitTime) { try { var end = window.performance.timing.loadEventEnd; var start= window.performance.timing.navigationStart; return (end > 0) && (performance.now() > end - start + waitTime); } catch(e) { return true; } })(arguments[arguments.length - 1]); took too long return (function(waitTime) { try { var end = window.performance.timing.loadEventEnd; var start= window.performance.timing.navigationStart; return (end > 0) && (performance.now() > end - start + waitTime); } catch(e) { return true; } })(arguments[arguments.length - 1]); took too long at /usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:39:38 at new Promise () at timeout (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:38:5) at SeleniumRunner.wait (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:169:13) at SeleniumRunner.loadAndWait (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:242:20) at async Measure.start (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/command/measure.js:201:9) at async /usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/run.js:9:9 at async Iteration.run (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/iteration.js:192:9) at async Engine.runByScript (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/index.js:174:20) at async Object.analyzeUrl (/usr/local/lib/node_modules/sitespeed.io/lib/plugins/browsertime/analyzer.js:124:21) at async Object.processMessage (/usr/local/lib/node_modules/sitespeed.io/lib/plugins/browsertime/index.js:134:24) [2020-08-23 22:21:12] INFO: URL failed to load, trying 5 more time(s): Failed waiting on page to finished loading, timed out after 300000 ms [2020-08-23 22:26:13] ERROR: Failed waiting on page to finished loading, timed out after 300000 ms BrowserError: Running page complete check return (function(waitTime) { try { var end = window.performance.timing.loadEventEnd; var start= window.performance.timing.navigationStart; return (end > 0) && (performance.now() > end - start + waitTime); } catch(e) { return true; } })(arguments[arguments.length - 1]); took too long return (function(waitTime) { try { var end = window.performance.timing.loadEventEnd; var start= window.performance.timing.navigationStart; return (end > 0) && (performance.now() > end - start + waitTime); } catch(e) { return true; } })(arguments[arguments.length - 1]); took too long at /usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:39:38 at new Promise () at timeout (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:38:5) at SeleniumRunner.wait (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:169:13) at SeleniumRunner.loadAndWait (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/seleniumRunner.js:242:20) at async Measure.start (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/command/measure.js:201:9) at async /usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/run.js:9:9 at async Iteration.run (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/iteration.js:192:9) at async Engine.runByScript (/usr/local/lib/node_modules/sitespeed.io/node_modules/browsertime/lib/core/engine/index.js:174:20) at async Object.analyzeUrl (/usr/local/lib/node_modules/sitespeed.io/lib/plugins/browsertime/analyzer.js:124:21) at async Object.processMessage (/usr/local/lib/node_modules/sitespeed.io/lib/plugins/browsertime/index.js:134:24) [2020-08-23 22:26:13] INFO: URL failed to load, trying 4 more time(s): Failed waiting on page to finished loading, timed out after 300000 ms [2020-08-23 22:27:55] INFO: https://solace.com/cn/ 91 requests, TTFB: 2.03s, firstPaint: 43.38s, FCP: 43.38s, DOMContentLoaded: 256.66s, LCP: 44.05s, CLS: 0.0127, Load: 695.87s [2020-08-23 22:27:56] INFO: HTML stored in /private/tmp/sitespeed-result/solace.com/2020-08-23-22-16-09

flyisland commented 4 years ago

chromePerflog-1.json.gz

flyisland commented 4 years ago

I'm in mainland China, the URL that fails is https://solace.com/cn/, due to the GFW, some resource is inaccessible.

And I don't think you will encounter the timeout by accessing the above URL from your area.

soulgalore commented 4 years ago

Hi @flyisland I can maybe guide you to do a PR?