// the find
wangweianger/zanePerfor
前端性能监控系统,消息队列,高可用,集群等相关架构
A full-stack frontend performance monitoring platform built on Egg.js, MongoDB, Redis, and Kafka. It collects page load times, AJAX durations, JS errors, and resource timings from web and WeChat mini-program clients, then aggregates them into a dashboard with PV/UV stats, heatmaps, and user funnel analysis. It's aimed at Chinese teams running their own monitoring infrastructure rather than paying for Datadog or similar.
The architecture progression is well thought out — it starts single-node and scales to MongoDB replica sets and then sharded clusters without requiring you to rearchitect the application layer. The Kafka integration as an optional ingestion buffer is done correctly: it sits between the SDK report endpoint and MongoDB writes, so a traffic spike doesn't blow up the database directly. The IP-to-city lookup uses a three-tier cache (local file → Redis → MongoDB) which is a practical solution to a real problem in Chinese infrastructure. The Docker Compose setup gives you the entire stack — Kafka, Zookeeper, MongoDB, Redis — in one command, which is genuinely useful for local evaluation.
The project hasn't been touched since mid-2024 and the Node version badge says 8.9–10.15, which is years past EOL — the dependency tree is almost certainly full of unpatched CVEs. The frontend is Vue 2 with Bootstrap 3 served as static files in the Egg app, not a proper SPA build pipeline, so customising the dashboard is painful. There are essentially no tests — one controller test file exists and it appears to be a stub. The SDK is distributed as pre-built zip files checked into the repo rather than versioned npm packages, which makes staying current with fixes a manual process.