{"adoption": {"forks": 346, "observed_at": "2026-08-28T04:06:07.068179+00:00", "stars": 2029}, "canonical_url": "https://ross.abutalabs.com/products/rally", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Macrobenchmarking framework for Elasticsearch", "domain": ["databases", "developer-tools", "performance"], "enriched": true, "function": ["benchmarking", "testing", "developer-tools", "cli"], "health_score": 98, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["elastic/rally"], "name": "elastic/rally", "platform": ["cli", "python"], "pushed_at": "2026-08-21T03:46:07+00:00", "repo": "elastic/rally", "stars": 2029, "tags": ["elasticsearch", "macrobenchmark", "load-testing", "performance-analysis", "search", "linux", "macos"], "topics": ["elasticsearch"], "urls": [], "use_cases": ["benchmark elasticsearch cluster performance", "measure indexing and query throughput across elasticsearch versions", "set up and tear down elasticsearch clusters for load tests", "compare performance results between elasticsearch releases", "find elasticsearch performance problems with telemetry devices", "run reproducible search benchmarks with standard tracks like geonames"], "what_it_is": "Rally is a macrobenchmarking framework for Elasticsearch, developed in Python by Elastic. It automates cluster setup and teardown, benchmark data and track management, running benchmarks, recording and comparing results, and attaching telemetry devices to find performance problems.", "when_to_avoid": ["you benchmark something other than Elasticsearch", "your benchmarking host runs Windows (Rally itself requires Unix)", "you need microbenchmarks of individual functions rather than whole-cluster benchmarks"], "when_to_choose": ["you need reproducible, standardized macrobenchmarks of Elasticsearch clusters", "you want to compare Elasticsearch performance across versions or configurations", "you need automated cluster provisioning and teardown for benchmark runs", "you want to profile Elasticsearch internals with telemetry devices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rally", "repo": "elastic/rally", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "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:07.068179+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.068179+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:37.674295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c60864bdc3595c41591cbc357eb69bdf0a091f1eb28c9ebc813abd5f7b8c6ec3", "fetched_at": "2026-08-28T04:06:07.068179+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elastic/rally"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 55}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3929, "days_push": 12, "days_rel": 91, "gap_med": 285.5, "n_releases_24m": 3}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}