{"id":20348520,"url":"https://github.com/onebeyond/warthog-load-testing","last_synced_at":"2026-04-27T08:31:51.890Z","repository":{"id":167141459,"uuid":"642319729","full_name":"onebeyond/warthog-load-testing","owner":"onebeyond","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-03T20:10:25.000Z","size":286,"stargazers_count":1,"open_issues_count":7,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-04T22:58:37.980Z","etag":null,"topics":["javascript","load-testing","node"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onebeyond.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2023-05-18T09:57:41.000Z","updated_at":"2023-11-02T13:39:29.000Z","dependencies_parsed_at":"2023-10-04T01:59:40.050Z","dependency_job_id":null,"html_url":"https://github.com/onebeyond/warthog-load-testing","commit_stats":null,"previous_names":["onebeyond/warthog-load-testing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/onebeyond/warthog-load-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onebeyond%2Fwarthog-load-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onebeyond%2Fwarthog-load-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onebeyond%2Fwarthog-load-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onebeyond%2Fwarthog-load-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onebeyond","download_url":"https://codeload.github.com/onebeyond/warthog-load-testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onebeyond%2Fwarthog-load-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32329463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"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":["javascript","load-testing","node"],"created_at":"2024-11-14T22:20:58.395Z","updated_at":"2026-04-27T08:31:51.598Z","avatar_url":"https://github.com/onebeyond.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Warthog\n\n:warning: This project is still under development :warning:\n\n\u003ca href=\"https://github.com/onebeyond/warthog-load-testing\"\u003e**_Warthog_**\u003c/a\u003e is a powerful tool to launch your \u003ca href=\"https://en.wikipedia.org/wiki/Load_testing#Software_load_testing\"\u003e**load tests**\u003c/a\u003e without any kind of limitation when it comes to choosing the level of load or the types of resources you want to test.\n\nKey features:\n\n-   **Friendly**: It is developed to provide the greatest possible simplicity to developers.\n-   **Familiar**: The tests needs to be created by using \u003ca href=\"https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript\"\u003eJavaScript\u003c/a\u003e, which is a versatile and widely-used programming language.\n-   **Simplicity**: The tests are executed under the \u003ca href=\"https://nodejs.org\"\u003eNode.js\u003c/a\u003e runtime, which offers a robust ecosystem, efficient performance, and extensive libraries, simplifying the development process.\n-   **Performance**: Optimized to reduce latencies when calculating the test suite scores.\n-   **Limitless**: It supports **any protocol** that the \u003ca href=\"https://nodejs.org/api/all.html\"\u003eruntime allows\u003c/a\u003e, you don't need to extend anything.\n\n## Usage\n\nNormal use mode:\n```bash\npnpm start\n```\n\nOr use it on debug mode for a verbose output:\n```\nDEBUG=\"warthog:*\" pnpm start\n```\n\n## Configuration\n\nCreate an `.env` file with your custom values:\n\n```bash\n# Amount of CPU threads executing the test scripts.\nSCRIPT_PARALLELISM=2\n# The path in which to find the scripts to be executed\nWARTHOG_TESTS_PATH=./tests\n```\n\n## Examples\n\nThere is an already developed \u003ca href=\"https://github.com/onebeyond/warthog-load-testing\"\u003e**_Warthog_**\u003c/a\u003e project full of load test scripts already developed. That one can be found under the \u003ca href=\"https://github.com/onebeyond/warthog-load-testing/tree/main/example\"\u003eexample\u003c/a\u003e folder of this repository.\n\nThe tool is ready for being integrated with a continuous integration pipeline, enabling quality assurance processes and effortless execution of scripts for automated testing.\n\n## Principles\n\n- **Measure performance** between **future versions** of this framework to observe that **performance does not worsen**. The new features cannot decrease the total number of iterations that could be executed before. This could lead to misunderstandings since it could lead to the conclusion that the system that the end user is testing has worsened its performance. When it really is not like that, what has happened is that its iterations take longer to execute due to a worsening in the framework runtime during the same tasks during each execution.\n\n- The [non blocking](https://nodejs.org/en/docs/guides/blocking-vs-non-blocking) pattern has been kept in mind before starting to develop this software. This is the perfect example to once again remember that new behaviors in the code that go against this principle will not be accepted. In order to follow this principle from the beginning [node workers](https://nodejs.org/api/worker_threads.html) has been used on there that allow to stay aligned with the non blocking pattern.\n\n- We assume that the contributors of this tool are not responsible for the damage that some users may cause to external systems that are not authorized to be tested by them.\n\n## Contribute\n\nIf you want to contribute or help with the development of Warthog, start by reading `CONTRIBUTING.md`.\n\n## The insides\n\n\u003cimg src=\"docs/diagrams/how_it_works_internals.svg\" /\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonebeyond%2Fwarthog-load-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonebeyond%2Fwarthog-load-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonebeyond%2Fwarthog-load-testing/lists"}