{"adoption": {"forks": 475, "observed_at": "2026-08-28T04:06:13.765459+00:00", "stars": 2103}, "canonical_url": "https://ross.abutalabs.com/products/ngrinder", "card": {"archived": true, "artifact_type": "application", "description": "enterprise level performance testing solution", "domain": ["testing", "performance", "developer-tools"], "enriched": true, "function": ["testing", "benchmarking", "monitoring", "http-server"], "health_score": 10, "homepage": "naver.github.io/ngrinder", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["naver/ngrinder"], "name": "naver/ngrinder", "platform": ["jvm", "self-hosted", "cross-platform"], "pushed_at": "2024-10-10T02:17:58+00:00", "repo": "naver/ngrinder", "stars": 2103, "tags": ["load-testing", "stress-testing", "jython", "performance-testing", "distributed-agents", "devops", "web-server"], "topics": [], "urls": [], "use_cases": ["load test a web api with thousands of virtual users", "stress test a website before a big launch", "run concurrent performance tests from multiple agents", "generate test scripts and monitor target servers during load tests", "measure how my service behaves under heavy traffic", "performance regression testing for enterprise systems"], "what_it_is": "nGrinder is an enterprise-level performance and stress testing platform consisting of a web-based controller and load-generating agents. It supports Jython-based test scripting, concurrent test execution, agent and target monitoring, and automated report generation.", "when_to_avoid": ["you need a lightweight CLI-only load testing tool", "you want a modern actively developed project with frequent releases", "you prefer scripting in languages other than Jython/Java", "you need cloud-SaaS load testing without self-hosting"], "when_to_choose": ["you need a self-hosted, web-based load testing platform with distributed agents", "you want scriptable stress tests using Jython/Java on the JVM", "you need monitoring of both load agents and target machines during tests", "you are testing large-scale systems and need proven enterprise tooling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ngrinder", "repo": "naver/ngrinder", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.765459+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:15.036905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe57b2044d4d105e1a9c8cd278717e464dcb01d83ff031a375cecd30eff96c1", "fetched_at": "2026-08-28T04:06:13.765459+00:00", "kind": "readme", "missing": false, "url": "https://github.com/naver/ngrinder"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5188, "days_push": 693, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}