{"id":19404285,"url":"https://github.com/hasithaishere/speed-tester","last_synced_at":"2025-10-15T18:07:36.154Z","repository":{"id":245064135,"uuid":"817112657","full_name":"hasithaishere/speed-tester","owner":"hasithaishere","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-19T05:09:53.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T00:36:53.700Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasithaishere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-19T03:47:14.000Z","updated_at":"2024-06-19T05:11:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"15abed96-61ee-4257-9a8e-41477a8706fc","html_url":"https://github.com/hasithaishere/speed-tester","commit_stats":null,"previous_names":["hasithaishere/speed-tester"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hasithaishere/speed-tester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasithaishere%2Fspeed-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasithaishere%2Fspeed-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasithaishere%2Fspeed-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasithaishere%2Fspeed-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasithaishere","download_url":"https://codeload.github.com/hasithaishere/speed-tester/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasithaishere%2Fspeed-tester/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261618130,"owners_count":23185095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T11:33:53.069Z","updated_at":"2025-10-15T18:07:31.123Z","avatar_url":"https://github.com/hasithaishere.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Website Speed Check Tool\n\nThis tool uses Puppeteer to measure the full page load time of a website. It navigates to the specified URL, waits for the page to fully load, and captures performance metrics including the total page load time. The results are saved in a CSV file.\n\n## Features\n\n- Measures full page load time, including the time it takes for a React application to become fully interactive.\n- Disables browser cache to ensure each test run starts fresh.\n- Logs detailed performance metrics and saves them in a CSV file.\n\n## Prerequisites\n\n- Node.js and npm must be installed on your machine.\n- Basic understanding of Node.js and JavaScript.\n\n## Installation\n\n1. Clone the repository or download the code to your local machine.\n2. Navigate to the project directory.\n3. Install the required dependencies by running:\n```bash\n   npm install puppeteer csv-writer\n```\n## Usage\nTo run the website speed check tool:\n\n```bash\nnode full-page-load-check.js \u003cURL\u003e [number_of_tries]\n```\n- The URL of the website you want to check (required).\n- [number_of_tries]: The number of times to run the speed check (optional, default is 10).\n## Example\nTo check the performance of https://example.com 5 times:\n\n```bash\nnode full-page-load-check.js https://example.com 5\n```\nThis will generate a CSV file named \u003chost\u003e-\u003cdate-time\u003e.csv, where \u003chost\u003e is the host part of the URL and \u003cdate-time\u003e is the timestamp of when the test was run.\n\n## Output\n- The script generates a CSV file with the performance results for each run.\n- The CSV file is named using the host of the URL and the current date-time (e.g., site-speed-example-com-2024-06-19T14-30-00.csv).\n- Each row in the CSV file contains:\n1. TRY: The run number.\n2. FULL_PAGE_LOAD_TIME (s): The time taken for the full page to load, in seconds.\n3. TIMESTAMP: The time when the check was performed.\n\n## Dependencies\nThe tool uses the following Node.js packages:\n\n- puppeteer: For controlling a headless instance of Chrome to perform the page load test.\n- csv-writer: To create and write the results to a CSV file.\n\n## Example Output\nA typical row in the CSV file might look like this:\n\n```python\nTRY, FULL_PAGE_LOAD_TIME (s), TIMESTAMP\n1, 3.45, 2024-06-19T14:30:00.123Z\n2, 3.50, 2024-06-19T14:35:00.456Z\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasithaishere%2Fspeed-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasithaishere%2Fspeed-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasithaishere%2Fspeed-tester/lists"}