{"id":26298786,"url":"https://github.com/amalchandru/metrics-monkey","last_synced_at":"2026-03-05T18:02:55.302Z","repository":{"id":251329698,"uuid":"837092230","full_name":"AmalChandru/metrics-monkey","owner":"AmalChandru","description":"metrics-monkey 🐒🚀: Fast, simple CLI for HTTP benchmarking.","archived":false,"fork":false,"pushed_at":"2024-08-05T10:59:26.000Z","size":206,"stargazers_count":15,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T21:51:36.548Z","etag":null,"topics":["benchmarking","cli","http","load-testing","performance-testing","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AmalChandru.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-02T07:39:41.000Z","updated_at":"2025-06-22T11:15:27.000Z","dependencies_parsed_at":"2024-08-04T15:27:15.541Z","dependency_job_id":"9f74fbfb-d1e9-4ea2-bfd6-07a454b09dea","html_url":"https://github.com/AmalChandru/metrics-monkey","commit_stats":null,"previous_names":["amalchandru/blitzkrieg","amalchandru/metrics-monkey"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AmalChandru/metrics-monkey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalChandru%2Fmetrics-monkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalChandru%2Fmetrics-monkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalChandru%2Fmetrics-monkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalChandru%2Fmetrics-monkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmalChandru","download_url":"https://codeload.github.com/AmalChandru/metrics-monkey/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalChandru%2Fmetrics-monkey/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30141296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T16:58:46.102Z","status":"ssl_error","status_checked_at":"2026-03-05T16:58:45.706Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["benchmarking","cli","http","load-testing","performance-testing","typescript"],"created_at":"2025-03-15T06:36:38.987Z","updated_at":"2026-03-05T18:02:55.260Z","avatar_url":"https://github.com/AmalChandru.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# metrics-monkey 🐒🚀\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/metrics-monkey.jpeg\" alt=\"metrics-monkey logo\" width=\"200\"/\u003e\n  \u003cbr\u003e\n  \u003cem\u003e\u003csmall\u003eM. Monkey generated by Llama 3.1\u003c/small\u003e\u003c/em\u003e\n\u003c/p\u003e\n\nThe `metrics-monkey` is a no-nonsense, high-performance CLI HTTP benchmarking tool that's a swiss army knife for developers and performance engineers who want to:\n\n- 📈 **Supercharge Web Performance:** Benchmark your web services to spot performance bottlenecks and optimize your application for top-notch speed and reliability.\n- 🔄 **Test API Endpoints:** Simulate various traffic patterns, including high concurrency, large number of requests, and prolonged durations, to ensure your API endpoints can handle the load.\n- 🔍 **Assess API Dependencies:** Verify if the APIs you depend on can withstand the load and determine their maximum capacity.\n\n## Installation\n\nYou can install metrics-monkey via npm:\n```bash\nnpm install -g metrics-monkey\n```\n\n## Usage\n\n```bash\nmetrics-monkey --url \u003curl\u003e --method \u003cmethod\u003e --requests \u003crequests\u003e --concurrency \u003cconcurrency\u003e --timeout \u003ctimeout\u003e --duration \u003cduration\u003e --headers \u003cheaders\u003e --body \u003cbody\u003e --output \u003coutput\u003e\n```\n\n**Options:**\n- `--help:` Display the help message with all available options and their descriptions.\n- `--url:` The URL to benchmark.\n- `--method:` The HTTP method to use (GET, POST, PUT, DELETE).\n- `--requests:` The total number of requests to make.\n- `--concurrency:` The number of concurrent requests.\n- `--timeout:` The timeout for each request in seconds.\n- `--duration:` The duration of the test in milliseconds.\n- `--headers:` The headers to include with each request (in JSON format).\n- `--body:` The body content to include with POST or PUT requests.\n- `--output:` The output format (plain or json).\n\n## Examples \n### 1: Basic GET Request Benchmark\n```bash\nmetrics-monkey --url https://jsonplaceholder.typicode.com/posts --method GET --requests 1000 --concurrency 50 --timeout 10 --duration 60000\n```\n\n**Description:** Benchmarks a GET request to https://jsonplaceholder.typicode.com/posts. The test will issue 1000 requests with a concurrency of 50, a timeout of 10 seconds per request, and will run for 6 seconds. \n\n**Example Output:**\n```bash\nprogress [======================================--] 94% | ETA: 1s | 943/1000\n\nBenchmark Results\n------------------------------\n  Requests per Second: 163.67\n  Latency (ms):       \n    Avg:       250.38ms\n    Stdev:     341.99ms\n    Max:       2.26ms\n  Throughput (MB/s):   0.00\n  HTTP Codes:         \n    200xx: 943\n------------------------------\n\nTotal time: 6s\n```\n\n### 2: POST Request with Custom Headers\n```bash\nmetrics-monkey --url https://api.example.com/data --method POST --requests 500 --concurrency 20 --timeout 5 --headers '{\"Authorization\": \"Bearer my-token\"}' --body '{\"key\": \"value\"}' \n```\n**Description:** Sends 500 POST requests to https://api.example.com/data, including a custom Authorization header and a JSON body. The tool will use a concurrency of 20, a timeout of 5 seconds per request\n\n**Example Output:**\n```bash\nprogress [========================================] 100% | ETA: 0s | 500/500\n\nBenchmark Results\n------------------------------\n  Requests per Second: 75.41\n  Latency (ms):       \n    Avg:       260.07ms\n    Stdev:     304.49ms\n    Max:       1.99ms\n  Throughput (MB/s):   0.00\n  HTTP Codes:         \n    0xx: 500\n------------------------------\n\nTotal time: 6s\n```\n### 3: PUT Request with Extended Duration\n```bash\nmetrics-monkey --url https://api.example.com/update --method PUT --requests 2000 --concurrency 100 --timeout 15 --duration 120000 \n```\n**Description:** Performs a PUT request to https://api.example.com/update with 2000 requests and a concurrency of 100. The test will run for 2 minutes (120,000 milliseconds) with each request timing out after 15 seconds. The results will be displayed in plain text format.\n\n**Example Output:**\n```bash\nprogress [========================================] 100% | ETA: 0s | 2000/2000\n\nBenchmark Results\n------------------------------\n  Requests per Second: 38.01\n  Latency (ms):       \n    Avg:       2595.13ms\n    Stdev:     3039.69ms\n    Max:       12.60ms\n  Throughput (MB/s):   0.00\n  HTTP Codes:         \n    0xx: 2000\n------------------------------\n\nTotal time: 52s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famalchandru%2Fmetrics-monkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famalchandru%2Fmetrics-monkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famalchandru%2Fmetrics-monkey/lists"}