这个项目能做什么

Parca 是一个开源持续性能分析平台,用于分析随时间变化的 CPU 和内存使用情况,精确到行号。它旨在通过收集整个基础设施的性能分析数据,帮助降低基础设施成本、提升性能并增强可靠性。 README 中描述的关键能力: - eBPF 分析器:一个使用 eBPF 的单一分析器,能够以低开销从 Kubernetes 或 systemd 自动发现整个基础设施中的目标。它支持 C、C++、Rust 和 Go 等语言。 - 开放标准:基于 eBPF 的分析器生成 pprof 格式的分析数据,Parca 可以接收任何 pprof 格式的分析数据,支持广泛的语言采用以及与现有工具的互操作性。 - 优化的存储与查询:性能分析数据被高效存储,同时保留原始数据。数据可以通过基于标签的搜索进行切分和组合。用户可以跨整个基础设施聚合性能分析数据、查看单个时间点的分析数据,或跨维度进行比较。 README 中强调的使用场景包括:通过发现浪费的资源来节省成本;通过识别具有统计显著性的热点路径,并比较部署、版本和区域等标签之间的差异来提升性能;以及理解内存泄漏或瞬时 CPU 或 I/O 峰值等事件。 安装和文档可在项目网站上获取。开发需要 Go、Node 和 Pnpm。该仓库包含 Makefile 构建流程,编译后的二进制文件可在本地运行,默认在 7070 端口提供 Web UI。配置通过标志和 parca.yaml 文件处理,涵盖 HTTP 设置、存储选项、符号化、debuginfo 处理和远程存储连接。 该项目最初由 Polar Signals 开发,并在 Apache 2 许可证下发布。