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 603 forks source link

Only the logs and pages directories are generated in the locally persisted sitespeed-result/ directory at the end of the container run, with the other directory files missing #4262

Open taozhu520222 opened 3 months ago

taozhu520222 commented 3 months ago

Your question

Hello, I'm having a problem with sitespeed.io, could you please could you explain it to me? A million thanks. When I run 'docker run --rm -v /docker/sitespeed.io:/sitespeed.io sitespeedio/sitespeed.io -n 1 urls.txt', if the urls.txt contains around 100 url addresses, the In the locally persisted sitespeed-result/ directory at the end of the container run, only the logs and pages directories will appear, without the corresponding css, js, img directories and several other .html files. Is this caused by too many url addresses in the urls.txt file? Or is the file missing due to some URL access failure during the testing process? Because I subsequently reduced the number of addresses in urls.txt to 3~10, there is still a directory loss situation, observed the error message, only the URL test timeout, but there is no directory loss of abnormal error message.

soulgalore commented 3 months ago

Hi @taozhu520222 do you get any errors in the logs that you can share?

taozhu520222 commented 3 months ago

嗨,您可以在共享的日志中收到任何错误吗?

There seems to be no such error in the past few days, I have currently accessed es,subsequently if there is a similar error, I will write the relevant files into the log to organize and send you, a million thanks for your prompt reply.

taozhu520222 commented 2 months ago

Hi @taozhu520222 do you get any errors in the logs that you can share?您好@taozhu520222 您在可以分享的日志中遇到任何错误吗?

Hi, I'm using sitespeed.io and once again only the logs and pages directories appear in the locally persistent sitespeed-result/ directory at the end of the container run, without generating the corresponding css, js, img directories and several .html files. The relevant files report the following error message: [2024-09-11:11:00] ERROR: TypeError [ERR_INVALID_ARG_TYPE]. [2024-09-11 07:36:46] ERROR: TypeError [ERR_INVALID_ARG_TYPE]: The “data” parameter must be a string type or an instance of Buffer, TypedArray, or DataView. Received undefined at writeFile (node:fs:2311:5) at node:internal/util:432:7 at new Promise () at writeFile (node:internal/util:418:12) at write (file:///usr/src/app/lib/core/resultsStorage/storageManager.js:26:10) at file:///usr/src/app/lib/core/resultsStorage/storageManager.js:113:9 at async HTMLBuilder.render (file:////usr/src/app/lib/plugins/html/htmlBuilder.js:338:7)

taozhu520222 commented 2 months ago

嗨,您可以在共享的日志中收到任何错误吗? I want to specify the test load time for a web page each time I test, as well as skip the test for that page if it fails to load, but when I try to mimic docker run --rm -v “$(pwd):/sitespeed.io” sitespeedio/sitespeed.io:34.12.0 https://www .sitespeed.io --browsertime.pageCompleteCheck 'return (function() {try { return (Date.now() - window.performance.timing.loadEventEnd) > 10000 ;} catch(e) {} return true;})() 'This command to do an early end test seems to be running into some problems, can you help me with this?Am I misunderstanding - the meaning of the use of the browsertime.pageCompleteCheck parameter? I just want to put an early end to page checks that take too long, after all, having to wait for a page to be checked 5 times for 60s each time is indeed too slow. I'm executing the command locally: [fangyuan@localhost sitespeed.io]$ docker run -v “$(pwd):/sitespeed.io” --rm sitespeedio/sitespeed.io https://academic.eb.com/ -- browsertime.pageCompleteCheck “return (function() { try { return (Date.now() - window.performance.timing.loadEventEnd) > 10000; } catch(e) { } return true; })();” -n 1 Execution result: `Google Chrome 128.0.6613.84 Mozilla Firefox 129.0 Microsoft Edge 127.0.2651.105 [2024-09-12 16:30:10] INFO: Versions OS: linux 5.14.0-362.8.1.el9_3.x86_64 nodejs: v20.17.0 sitespeed.io: 34.11.1 browsertime: 22.10.1 coach: 8.0.2 [2024-09-12 16:30:10] INFO: Running tests using Chrome - 1 iteration(s) [2024-09-12 16:30:11] INFO: Testing url https://academic.eb.com/ iteration 1 [2024-09-12 16:30:14] INFO: Take after page complete check screenshot [2024-09-12 16:30:15] INFO: Take cumulative layout shift screenshot [2024-09-12 16:30:16] INFO: Take largest contentful paint screenshot [2024-09-12 16:30:16] INFO: Chrome did not report any largest-contentful-paint [2024-09-12 16:30:16] ERROR: Couldn't execute script named documentHeight error:JavascriptError: javascript error: Cannot read properties of null (reading 'scrollHeight') (Session info: chrome=128.0.6613.84) [2024-09-12 16:30:16] ERROR: Failed to execute user script: JavascriptError: javascript error: Cannot read properties of null (reading 'scrollHeight') (Session info: chrome=128.0.6613.84) [2024-09-12 16:30:18] ERROR: Visual Metrics failed to analyse the video TypeError: Cannot read properties of undefined (reading 'visualElements') at Iteration.run (file:///usr/src/app/node_modules/browsertime/lib/core/engine/iteration.js:224:54) at async Engine.runByScript (file:///usr/src/app/node_modules/browsertime/lib/core/engine/index.js:308:20) at async analyzeUrl (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:210:12) at async BrowsertimePlugin.processMessage (file:///usr/src/app/lib/plugins/browsertime/index.js:173:26) [2024-09-12 16:30:18] ERROR: TypeError: Cannot read properties of undefined (reading 'push') at Iteration.run (file:///usr/src/app/node_modules/browsertime/lib/core/engine/iteration.js:252:36) at async Engine.runByScript (file:///usr/src/app/node_modules/browsertime/lib/core/engine/index.js:308:20) at async analyzeUrl (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:210:12) at async BrowsertimePlugin.processMessage (file:///usr/src/app/lib/plugins/browsertime/index.js:173:26) [2024-09-12 16:30:18] ERROR: Unhandled value type undefined found when adding data for pageinfo [2024-09-12 16:30:18] INFO: https://academic.eb.com/ 13 requests, TTFB: 660ms, DOMContentLoaded: 0ms, CPUBenchmark: 45ms, Load: 0ms [2024-09-12 16:30:18] ERROR: https://academic.eb.com/ generated the following errors in the coach { "info": { "documentHeight": "Cannot read properties of null (reading 'scrollHeight')", "documentWidth": "Cannot read properties of null (reading 'scrollWidth')", "responsive": "Cannot read properties of null (reading 'scrollWidth')", "serializedDomSize": "Cannot read properties of null (reading 'innerHTML')" } } [2024-09-12 16:30:19] INFO: Could not read filmstrip dir TypeError: Cannot read properties of undefined (reading 'time') at getFilmstrip (file:///usr/src/app/lib/plugins/browsertime/filmstrip.js:200:37) at async HTMLBuilder.render (file:///usr/src/app/lib/plugins/html/htmlBuilder.js:283:13) [2024-09-12 16:30:19] ERROR: Could not generate url/summary/index, /usr/src/app/lib/plugins/html/templates/url/metrics/index.pug:13 11| - const cdp = medianRun ? pageInfo.data.browsertime.pageSummary.cdp[medianRun.runIndex - 1] : pageInfo.data.browsertime.run.cdp 12| - const renderBlocking = medianRun ? pageInfo.data.browsertime.pageSummary.renderBlocking[medianRun.runIndex - 1] : pageInfo.data.browsertime.run.renderBlocking 13| - const loaf = medianRun ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1].pageinfo.loaf : pageInfo.data.browsertime.run.pageinfo.loaf 14| 15| small 16| | |

Cannot read properties of undefined (reading 'loaf') [2024-09-12 16:30:19] ERROR: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined at writeFile (node:fs:2311:5) at node:internal/util:432:7 at new Promise () at writeFile (node:internal/util:418:12) at write (file:///usr/src/app/lib/core/resultsStorage/storageManager.js:26:10) at file:///usr/src/app/lib/core/resultsStorage/storageManager.js:113:9 at async HTMLBuilder.render (file:///usr/src/app/lib/plugins/html/htmlBuilder.js:338:7) `