{"id":15283857,"url":"https://github.com/dkorittki/loago","last_synced_at":"2025-10-07T00:31:37.982Z","repository":{"id":57536754,"uuid":"281634268","full_name":"dkorittki/loago","owner":"dkorittki","description":"Distributed load test utility based on Chromium browsers","archived":true,"fork":false,"pushed_at":"2020-11-30T21:23:23.000Z","size":154,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-15T07:33:10.249Z","etag":null,"topics":["chrome","chromium","devtools-protocol","go","grpc","load-testing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dkorittki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-22T09:30:19.000Z","updated_at":"2023-01-28T08:28:37.000Z","dependencies_parsed_at":"2022-08-29T00:40:49.318Z","dependency_job_id":null,"html_url":"https://github.com/dkorittki/loago","commit_stats":null,"previous_names":["dkorittki/loago-worker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dkorittki/loago","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkorittki%2Floago","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkorittki%2Floago/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkorittki%2Floago/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkorittki%2Floago/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkorittki","download_url":"https://codeload.github.com/dkorittki/loago/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkorittki%2Floago/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278703582,"owners_count":26031204,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chrome","chromium","devtools-protocol","go","grpc","load-testing"],"created_at":"2024-09-30T14:48:00.994Z","updated_at":"2025-10-07T00:31:37.568Z","avatar_url":"https://github.com/dkorittki.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Loago\n\nLoago is a scaleable webapp loadtest utility based on Chrome/Chomium browser fleets.\n\n## Description\n\nUse real Chromium-based browsers to loadtest your webapp/website.\n\nLoago enables website load tests using a fleet of Chromium browser processes to reliable\nrecreate user behaviour.  \nReal users use real browsers to visit webapps. And instead of measuring the maximum amount\nof requests your webapp can handle, it lets you decide how many users you wan't to simulate concurrently.  \nThis gives devops and SRE's an indicator of how many users their webapp can handle,\nmuch better than simply saying how many HTTP requests it can take without any real-world cohesion.  \nTo accurately simulate real browser behaviour, a real browser is used: Chromium (or Chromium based browsers implementing the DevTools API).  \nThis makes sure the applied load behaves just like a real user, including browser caching and parallel asset loading.\n\nLoago provides two modes: `instructor` and `worker`.\n\nIn instructor-mode you configure a loadtest, instruct one or more workers to\nperform this loadtest and save the results.\n\nIn worker-mode Loago actually performs the requests coming from an Loago\ninstructor instance.\n\nThis allows for horizontal, geographically spread load scaling.\n\n\n## Key features\n- Efficient client-server communication via protobuf+gRPC including TLS encryption\n- Authentication currently implemented as basic auth token\n- Horizontal scaling, since one instructor can handle multiple workers\n- Written in Go\n- Scales as much as your memory does, though it's not as bad as you might think\n- Random, but weighted, HTTP requests on specific URL's\n- Every response contains TTFB, HTTP status code and message and will be send to the instructor\n\n## Project status\n\n:warning:\n\nThe loago project is in it's (very) early stage and should not be used on real websites or webapps!  \nBut since there is no instructor mode available yet, this should be pretty inconvenient anyway ;-).\n\n## Installation\n\nInstall via `go get`:\n\n```shell script\ngo get github.com/dkorittki/loago\n```\n\n## Usage\n\n## worker mode\n\nCall `loago serve` from command line with these flags, to start Loago in worker mode:\n\n`-adress`: listen address, e.g. `127.0.0.1` or `0.0.0.0` (default)  \n`-port`: listen port (default 50051)  \n`-cert`: path to TLS certificate  \n`-key`: path to TLS private key  \n`-secret`: basic auth secret for authentication\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkorittki%2Floago","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkorittki%2Floago","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkorittki%2Floago/lists"}