Pyroscope 使用
Pyroscope 是一个开源的持续性能分析平台。它能够帮你:
- 查找代码中的性能问题
- 解决 CPU 利用率高的问题
- 定位并修复内存泄漏
- 了解应用程序的调用树
- 跟踪随时间的变化
Pyroscope 可以存储来自多个应用程序长期的分析数据;可以一次查看多年的数据或单独查看特定的事件;较低的 CPU 使用;数据压缩效率高,磁盘空间要求低;快捷的 UI 界面;
Pyroscope 架构
Pyroscope 由两个主要组件支撑运行:Pyroscope Server 和 Pyroscope Agent。
Pyroscope Agent:记录并汇总您的应用程序一直在执行的操作,然后将该数据发送到 Pyroscope Server。支持多种语言,GO、Python、Ruby、eBPF、JAVA、Rust、PHP、NodeJS、.NET
Pyroscope Server: 处理、聚合和存储来自代理的数据,以便在任何时间范围内快速查询。片刻后可以查看分析数据,并在任何时间范围内进行查询。
与 Rainbond 集成架构
1.集成 Pyroscope Agent:
使用 Rainbond 插件的机制在微服务组件内安装 Pyroscope Agent 插件,该插件会将 pyroscope.jar
通过 javaagent 方式启动 java -javaagent:pyroscope.jar -jar app.jar
2.依赖 Pyroscope Server:
将安装了 Pyroscope Agent 插件微服务组件都依赖至 Pyroscope Server。