Home / Methodology
Methodology
This index is editorially independent. Listings are free and sponsorship never changes facts, scores or rankings. Here is exactly how every data point is produced, so you can audit it.
Factual fields
Open-source status, self-hostability, pricing model, pricing notes, framework integrations, OpenTelemetry-native support and funding/ownership are read from each tool's primary sources (official site, pricing page, repository, docs). Every tool page links its source. Spotted something stale? Email hi@panshi.io and it is fixed within 24h.
GitHub signals
For tools with a public repository we read four objective signals directly from the GitHub API: star count, date of the last push, detected license, and open-issue count. These are facts, not opinions.
Maturity signal (0–100)
A reproducible composite of the public GitHub signals above. It measures adoption and upkeep — not product quality, and it is never sold. Tools without a public repo have no score. The formula:
popularity = min(55, round(13.7 × log10(stars + 1))) # ~55 at 10k+ stars
maintenance = 35 if pushed ≤ 30d, 25 if ≤ 90d, 14 if ≤ 180d,
6 if ≤ 365d, else 0
openness = 10 if an OSI license is detected, else 0
maturity = min(100, popularity + maintenance + openness)
Bands: Mature ≥ 80, Established ≥ 60, Growing ≥ 40, Early below 40.
What we do not do
We do not inject vendor marketing copy, we do not rank by who pays, and we do not publish performance benchmarks we have not actually run. When hands-on test results are added, they will be labelled as tested and dated.