{"adoption": {"forks": 882, "observed_at": "2026-08-28T04:09:15.314584+00:00", "stars": 5301}, "canonical_url": "https://ross.abutalabs.com/products/webfunny_monitor", "card": {"archived": false, "artifact_type": "application", "description": "【免费社区版】【企业版】Webfunny是一款集全链路监控和埋点系统于一体的大数据分析系统，我们致力于解决线上的疑难杂症和精细化分析业务数据；监控系统面向技术、埋点系统面向业务，两者配合使用，相得益彰。", "domain": ["monitoring", "analytics", "web-development", "frontend", "performance"], "enriched": true, "function": ["monitoring", "alerting", "tracing", "analytics", "logging", "data-visualization"], "health_score": 79, "homepage": "https://www.webfunny.com/", "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["a597873885/webfunny_monitor"], "name": "a597873885/webfunny_monitor", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-23T13:48:04+00:00", "repo": "a597873885/webfunny_monitor", "stars": 5301, "tags": ["apm", "frontend-monitoring", "user-behavior-analytics", "event-tracking", "observability", "sourcemap", "session-replay", "distributed-tracing", "private-deployment", "devops", "nodejs", "docker", "web-server"], "topics": ["web-monitor", "monitoring", "monitoring-tool", "frontend-monitoring", "js-monitor", "front-end-monitor", "burying-point", "apm", "qian-duan", "topology", "track", "free", "free-monitor"], "urls": [], "use_cases": ["monitor frontend javascript errors and performance", "trace distributed requests across backend services", "analyze slow SQL and slow API endpoints", "track user behavior with event analytics and funnels", "replay user sessions to reproduce bugs", "set up alerting for production incidents", "self-host a private alternative to commercial APM tools"], "what_it_is": "Webfunny is a self-hostable full-stack observability platform combining frontend monitoring, APM backend monitoring, and business event analytics (buried-point tracking). It collects errors, performance metrics, distributed traces, and user behavior data from web, mini-program, and mobile apps, with dashboards, alerting, and session replay.", "when_to_avoid": ["you only need a lightweight open-source library without a commercial community/enterprise licensing split", "your stack has no Node.js runtime available for the server", "you need deep ecosystem integrations comparable to mature APM vendors", "you require fully open-source internals - some features and source access are paid"], "when_to_choose": ["you need combined frontend monitoring, APM, and product analytics in one self-hosted system", "data must stay on your own servers for compliance", "you support web, mini-program, and mobile clients and want unified collection", "you want low-ops deployment with Node.js and Docker"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/webfunny_monitor", "repo": "a597873885/webfunny_monitor", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "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:09:15.314584+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.314584+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:59:01.215016+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5a65532fce5e9840ed2aada0aef8fd46672eb999df98f088b63eae95a7fc49b", "fetched_at": "2026-08-28T04:09:15.314584+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a597873885/webfunny_monitor"}, {"content_hash": "25a430c3409e1a9446025862c9b045282cd13e0b6e5070c16bbd162e5c70a95a", "fetched_at": "2026-08-29T08:54:10.683211+00:00", "kind": "homepage", "missing": false, "url": "https://www.webfunny.com/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2982, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}