1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | pyroscope-grafana-skills |
| 作者/维护者 | Grafana Labs(官方组织) |
| 来源链接 | https://github.com/grafana/skills/tree/main/skills/grafana-lgtm/pyroscope |
| 许可证 | Apache-2.0(GitHub API 获取) |
| GitHub Stars / Forks | 203 / 17(GitHub API 获取;为 grafana/skills 合集仓库整体数据,非本子技能个体热度,详见第 7 章前说明) |
| 最新版本 | 无独立版本号(随合集仓库按插件组整体发布) |
| 安装方式 | Claude Code 插件市场一键安装,或通用命令行工具安装(见第 9 章) |
2. 功能介绍与亮点
pyroscope 教你用 Grafana Pyroscope 给应用做持续性能剖析(continuous profiling),把 CPU、内存、分配、协程、锁竞争等热点用火焰图呈现出来。核心内容覆盖三条埋点路径:
- 语言 SDK 直连:Go / Java / Python / Ruby / Node / .NET / Rust 的安装与配置示例,附验证命令(如 curl 检查采集端点是否就绪)
- Alloy eBPF 自动埋点:无需改代码,用 Grafana Alloy 以 eBPF 方式采集整个集群的性能数据(要求 Linux 内核 ≥ 5.8 且带 BTF)
- SDK → Alloy 转发:应用先推送给本地 Alloy,再统一转发
- ProfileQL 查询语言:按服务名、环境、剖析类型过滤,比对两次剖析找性能回归
- 追踪-剖析联动:把一条 Tempo 慢链路直接关联到对应的性能剖析
技能正文附两篇独立参考文档(各语言 SDK 安装配置速查、eBPF 全流程与 ProfileQL 完整语法),并含具体故障排查条目(如“eBPF 组件报 BPF 错误多半是内核版本或 BTF 缺失”“Java 无帧数据要设 PYROSCOPE_FORMAT=jfr”)。技能内容由 Grafana 工程团队持续产出和打磨,命令与配置经核对与 Pyroscope 官方文档一致。Pyroscope 本身是 Grafana Labs 持续投入的开源持续性能剖析项目,2026 年 4 月发布的 2.0 版本重做了存储与查询架构,Monzo、Uber 等公司是其公开可查的实际使用者。
3. 适用场景
固定分类:DevOps 与基础设施
- 应用出现“CPU 占用异常高”“内存持续增长”等问题,需要从火焰图定位具体是哪个函数在消耗资源的后端/SRE 工程师
- 计划为 Kubernetes 集群批量接入 eBPF 自动性能剖析、无需改动业务代码的平台工程师
- 已有 Tempo 分布式追踪、希望把一条慢链路直接下钻到对应性能剖析的可观测性团队
- 需要对比版本上线前后两份剖析数据、验证一次性能优化是否真正生效的开发者
4. 跨 Agent 兼容性
- Claude Code:原生支持——仓库提供
.claude-plugin/marketplace.json,可通过claude plugin marketplace add+claude plugin install直接安装 - Codex:支持——仓库同时提供
.agents-plugin/marketplace.json供 Codex 自动发现 - OpenClaw:未验证——README 仅笼统声明“兼容任何支持 Agent Skills 开放标准的工具”,未点名 OpenClaw
- Hermes Agent:未验证——同上,未见针对性说明
5. 推荐理由
持续性能剖析是排查线上性能问题时“看得到哪行代码在烧 CPU”的关键手段,但专门覆盖这一环节的 Agent Skill 目前很少见。这份技能把 SDK 埋点、eBPF 无侵入采集、ProfileQL 查询、追踪联动一次性讲全,带真实可执行的验证命令与故障排查速查表,不停留在“装个 SDK”的浅层介绍。核心功能(自建 Pyroscope 服务器 + eBPF 采集)完全开源自托管,不强制绑定付费 Cloud。安全上也很干净:纯文档与命令示例,所有命令都作用于用户自己的应用或集群。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 合集仓库整体 203 stars(不代表本子技能个体热度);子目录本身内容经官方团队系统性文档抓取与迭代流程产出,未见针对该子技能的独立第三方讨论或专属 issue/PR |
| 可用性 | 8 | SKILL.md 结构完整(前置条件、三条实操路径、ProfileQL 查询、四类具体故障排查场景),另附两篇独立参考文档;核心功能开源自托管无强制付费依赖;最近一次内容更新距今约一个月,仍在持续维护中 |
| 安全性 | 9 | 纯 Markdown 文档与命令示例,无需技能自动执行脚本;文中命令均由用户在自己的应用或集群中手动运行,无第三方数据外发;License Apache-2.0 明确 |
安全检查清单:① Shell 命令执行——文中 pip/curl/Alloy 配置重载等命令均由用户在自己环境手动执行,权限限于用户本地应用或自有集群 ② 联网外发——请求均指向用户自建的 Pyroscope 服务或自己的 Grafana Cloud 端点,无第三方数据外发 ③ 凭据处理——自托管不涉及凭据;接入 Cloud 需用户自行提供 Stack ID 与 API Key,技能本身不代管 ④ 可疑指令——通读全文未发现要求执行未声明操作或访问敏感文件的指令 ⑤ 作者信誉——官方 Grafana Labs 仓库,内容产出流程在提交记录中公开可查 ⑥ License——Apache-2.0,明确 ⑦ 最近维护——子目录约一个月前有更新,所属仓库整体持续活跃
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本技能的差异 |
|---|---|---|
| Parca(CNCF 相关开源持续性能剖析项目,非 Agent Skill 形态) | 独立部署的性能剖析后端,eBPF 支持更底层、查询方式贴近 Prometheus 风格标签查询 | Parca 对已经习惯 Prometheus 式标签查询的团队更顺手;本技能教的 Pyroscope 优势在于原生融入 Grafana 生态——已经用 Grafana 看指标/日志/追踪的团队,接入性能剖析后可以在同一个 Explore 界面里跳转,不用切换独立工具 |
| otel-instrumentation(Honeycomb 官方技能,聚焦 OpenTelemetry 应用埋点) | 教工程师在应用代码里写 Span、属性、异常事件 | 覆盖的是链路追踪的埋点环节,不涉及性能剖析(CPU/内存火焰图);与本技能覆盖的信号类型不同,两者可以互补而非替代 |
8. 用户评价
该技能子目录本身目前在 GitHub Issues 与第三方 Agent Skills 市场均未见具名用户评价。Pyroscope 作为底层开源项目本身有公开可查的实际生产使用案例(如 Monzo、Uber),但这是关于该技术本身的采用情况,不等同于对本技能文档的第三方评价。
9. 安装使用方式
- Claude Code:
claude plugin marketplace add grafana/skills,再执行claude plugin install grafana-lgtm@grafana-skills(整组安装,同组含 loki/tempo/mimir/prometheus) - 通用(Cursor 等):
npx skills add grafana/skills,写入对应工具技能目录(如.cursor/skills/) - Codex:仓库提供
.agents-plugin/marketplace.json,可自动发现安装 - 安装后注意事项:无需重启;对话中提及“火焰图”“CPU 占用异常”“持续性能剖析”等关键词即自动加载
10. 注意事项
- 按插件组整组安装,无法只单独安装 pyroscope 一个子技能,会连带装入同组的其他 LGTM 组件技能
- eBPF 自动埋点路径要求宿主机内核版本 ≥ 5.8 且带 BTF 支持(或 RHEL 4.18+),内核过旧或缺少 BTF 时该路径无法使用,需改走 SDK 直连
- OpenClaw、Hermes Agent 的兼容性未获验证,仅有笼统的“兼容 Agent Skills 开放标准工具”表述
- 生产级 Kubernetes eBPF 部署涉及 root 权限与宿主 PID 访问,属于该采集方式本身的架构要求,使用前应评估集群安全策略是否允许