{"id":25945884,"url":"https://github.com/jasonlovesdoggo/dockemstats","last_synced_at":"2026-05-07T12:35:11.491Z","repository":{"id":277311233,"uuid":"932017381","full_name":"JasonLovesDoggo/dockemstats","owner":"JasonLovesDoggo","description":"A lightweight tool for simulating Docker registry pulls. Benchmark your registry's performance or just see how many images you can pull before your network admin notices.","archived":false,"fork":false,"pushed_at":"2025-03-30T04:04:32.000Z","size":20,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-15T00:09:29.845Z","etag":null,"topics":["docker","go","golang","registry","statistics","stress-testing"],"latest_commit_sha":null,"homepage":"","language":"Go","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/JasonLovesDoggo.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-13T08:24:37.000Z","updated_at":"2025-07-21T06:30:35.000Z","dependencies_parsed_at":"2025-02-13T09:38:52.033Z","dependency_job_id":null,"html_url":"https://github.com/JasonLovesDoggo/dockemstats","commit_stats":null,"previous_names":["jasonlovesdoggo/dockemstats"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JasonLovesDoggo/dockemstats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonLovesDoggo%2Fdockemstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonLovesDoggo%2Fdockemstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonLovesDoggo%2Fdockemstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonLovesDoggo%2Fdockemstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JasonLovesDoggo","download_url":"https://codeload.github.com/JasonLovesDoggo/dockemstats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonLovesDoggo%2Fdockemstats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32737989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["docker","go","golang","registry","statistics","stress-testing"],"created_at":"2025-03-04T09:19:13.623Z","updated_at":"2026-05-07T12:35:11.473Z","avatar_url":"https://github.com/JasonLovesDoggo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DockemStats\n\nA lightweight tool for simulating and benchmarking Docker registry pulls. Test your registry's performance or just see how many containers you can pull before your network admin notices.\n\n## What is this?\n\nDockemStats is a Go-based utility that simulates concurrent Docker image manifest pulls from popular container registries. It's useful for:\n\n- Testing registry performance under load\n- Benchmarking pull rates with different configurations\n- Simulating realistic container pull patterns\n- Figuring out how your registry performs when everyone in your org decides to deploy at the same time\n\n## Features\n\n- Supports multiple registries (Docker Hub, GitHub Container Registry)\n- Simulates realistic client behavior with varied user agents and IPs\n- Handles authentication for private registries\n- Configurable concurrency and request pacing\n- Real-time progress bar and performance metrics\n- Won't actually download any containers (just the manifests)\n\n## Installation\n\n```bash\ngo get github.com/jasonlovesdoggo/dockemstats\n```\n\nOr clone and build:\n\n```bash\ngit clone https://github.com/jasonlovesdoggo/dockemstats.git\ncd dockemstats\ngo build\n```\n\n## Usage\n\n```bash\n./dockemstats --image nginx:latest --pulls 100 --concurrent 10\n```\n\n### Options\n\n- `--image`: Docker image name (e.g., `nginx:latest` or `ghcr.io/username/repo:tag`)\n- `--pulls`: Number of pulls to simulate (default: 1)\n- `--registry`: Registry to use (`dockerhub` or `ghcr`, default: `dockerhub`)\n- `--delay`: Delay between requests in milliseconds (default: 50)\n- `--concurrent`: Number of concurrent requests (default: 5)\n\n## Examples\n\nTest Docker Hub with 200 requests at 20 concurrent:\n```bash\n./dockemstats --image nginx:latest --pulls 200 --concurrent 20 --registry dockerhub\n```\n\nTest GitHub Container Registry:\n```bash\n./dockemstats --image ghcr.io/username/repo:latest --pulls 100 --registry ghcr\n```\n\n## Disclaimer\n\nThis tool simulates manifest pulls only and is intended for testing and benchmarking purposes. Please use responsibly and in accordance with your registry's terms of service. Don't be that person who DoS's their company's registry during deployment week.\n\n## License\n\nMIT License (see LICENSE file for details)\n\n## Contributing\n\nPull requests welcome! Just don't add features that would make your DevOps team nervous.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonlovesdoggo%2Fdockemstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonlovesdoggo%2Fdockemstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonlovesdoggo%2Fdockemstats/lists"}