{"adoption": {"forks": 161, "observed_at": "2026-08-28T04:04:21.744803+00:00", "stars": 1320}, "canonical_url": "https://ross.abutalabs.com/products/promxy", "card": {"archived": false, "artifact_type": "service", "description": "An aggregating proxy to enable HA prometheus", "domain": ["monitoring", "time-series", "self-hosted"], "enriched": true, "function": ["proxy", "monitoring", "http-server", "api-gateway"], "health_score": 97, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["jacksontj/promxy"], "name": "jacksontj/promxy", "platform": ["go", "self-hosted", "cli"], "pushed_at": "2026-07-25T02:38:26+00:00", "repo": "jacksontj/promxy", "stars": 1320, "tags": ["prometheus", "promql", "high-availability", "grafana", "query-federation", "time-series-database", "devops", "linux", "docker"], "topics": ["prometheus", "prometheus-proxy", "golang", "promql", "http", "proxy", "high-availability", "redundancy", "prometheus-infrastructure", "multi-prometheus-proxy", "monitoring", "graphing", "time-series"], "urls": [], "use_cases": ["run highly available prometheus with merged data from duplicate hosts", "give grafana a single datasource for multiple prometheus servers", "run globally aggregated promql queries across prometheus shards", "fill gaps in timeseries caused by prometheus restarts or upgrades", "simplify prometheus operations when scaling beyond one host"], "what_it_is": "Promxy is an aggregating proxy written in Go that makes multiple Prometheus shards appear as a single API endpoint. It merges duplicate time-series data from HA Prometheus hosts and provides unified PromQL query federation without requiring sidecars or changes to existing Prometheus infrastructure.", "when_to_avoid": ["you run a single prometheus instance with no HA requirements", "you need full clustering or long-term storage rather than query federation", "you rely on prometheus features promxy does not proxy"], "when_to_choose": ["you run multiple identical prometheus hosts for HA and want them to appear as one endpoint", "you need cross-shard promql aggregation without sidecars or custom prometheus builds", "you want to reduce grafana datasource confusion across many prometheus instances"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/promxy", "repo": "jacksontj/promxy", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "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:04:21.744803+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.744803+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:27.734997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ee5cdbdeed0f160ab59866e556f267ef6f5655f77c27035a4a168a4d4c1ffbb2", "fetched_at": "2026-08-28T04:04:21.744803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jacksontj/promxy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 92}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3250, "days_push": 40, "days_rel": 58, "gap_med": 25.5, "n_releases_24m": 9}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}