SuperAPI AI 工具集

crabpot-perf-metrics

部署与运维

查看项目

更新于 10-16 06:10

技能介绍

用途

该技能把 Crabpot/OpenClaw 的性能产物转化为清晰的解读:发生了什么变化、哪些是真实信号、哪些是陈旧或噪声数据,以及值得采取什么行动。

适用场景

  • 对比 openclaw/crabpot 的分支,例如 main、crab-beta 或 crab-development。
  • 读取 reports/crabpot-dashboard-data.json、reports/crabpot-import-loop-profile.json、reports/crabpot-runtime-profile.json、README 仪表盘指标或 GitHub Actions 报告产物。
  • 用户询问性能、运行时、CPU、RSS、导入循环、OpenClaw 导入/激活、仪表盘差异,或某个 Crabpot 性能变化是否有意义。

输入

  • 目标仓库或本地检出,通常是 openclaw/crabpot。
  • 要对比的分支、ref、PR 或产物 URL。
  • 可选的 OpenClaw 标签/SHA,用于跨 openclaw@latest、beta 或 openclaw/openclaw@main 的对比。

工作流程

  1. 在解读数字前先确认数据新鲜度。

    • 解析分支头并报告时间戳。
    • 在同一分支上对比仪表盘 JSON 与原始剖析 JSON。
    • 如果某个分支已陈旧,先说明,避免给出强结论。
    • 当 README 片段与原始 JSON 不一致时,优先采用原始 JSON。
  2. 区分指标族。

    • import-loop-profile:针对极小 fixture 的廉价冷捕获循环。适合检测 harness/导入漂移,不适合用于生产运行时结论。
    • runtime-profile:Crabpot 分析命令的宏观命令耗时。更适合作为真实套件成本的趋势信号。
    • OpenClaw 生命周期:导入加激活阶段。如果 openClawLifecycleCount 为 0,则该分支仪表盘不包含此信号。
  3. 保守解读 import-loop 指标。

    • 使用 p50WallMs、p95WallMs、p50PluginWallDeltaMs、p95PluginWallDeltaMs、maxPluginPeakRssDeltaMb 和 maxPluginCpuDeltaMsEstimate。
    • 把 3 次运行的 p95 视为“三次中最差”,而非稳定的尾部延迟估计。
    • 墙钟时间小幅上升而插件 RSS/CPU 持平,通常意味着抖动或模块解析开销,而非内存/CPU 回归。
    • 基线调整后的插件增量比原始墙钟/RSS/CPU 值更有用。
  4. 把 runtime profile 指标视为更强的趋势。

    • 使用 summary.p50WallMs、summary.p95WallMs、summary.maxPeakRssMb、summary.maxCpuMsEstimate 和 summary.maxHarnessHeapDeltaMb。
    • 检查各命令中位数以定位变化来源:fixture-inspection、compat-report-registry、contract-capture、synthetic-probe-plan、cold-import-readiness、workspace-plan、platform-probes 和 import-loop-profile。
    • 面向目标的命令普遍均匀变慢,通常指向目标 OpenClaw 表面解析或注册表工作,而非某个插件 fixture。
    • 如果 RSS 持平而 CPU 仅轻微变动,应称为墙钟/运行时开销变化,而非内存泄漏。
  5. 考虑表面变化。

    • fixture 数量、入口点数量、OpenClaw 标签或提交 SHA 不同,会使对比部分成为苹果对橘子。
    • 新增 fixture 可能提高 issue/probe 计数,而性能仍然健康。
    • OpenClaw main 对比 npm latest 可能改善兼容性,同时增加适度的分析开销。
  6. 给用户直接解读。

    • 先给结论。
    • 除非用户要求表格,否则优先使用要点和简短摘要。
    • 包含精确增量并分类:真实回归、适度变慢、噪声、陈旧数据或信号缺失。
    • 推荐一个下一步行动:刷新仪表盘、添加专用生命周期通道、调查特定命令,或作为噪声忽略。

实用命令

  • 如果 ghx 不可用,使用 gh。
  • 从 GitHub 获取当前分支产物: gh api /repos/openclaw/crabpot/contents/reports/crabpot-dashboard-data.json?ref=crab-development
  • 优先使用小型 Node 或 jq 提取,而非手动抓取 README。可用时拉取以下文件:
    • reports/crabpot-dashboard-data.json
    • reports/crabpot-import-loop-profile.json
    • reports/crabpot-runtime-profile.json
    • reports/crabpot-ci-summary.json

输出

  • 以要点形式给出简洁性能摘要。
  • 必要时给出新鲜度注意事项。
  • 重要增量及其解读。
  • 明确的负责人/行动建议,尤其是当仪表盘产物缺少生命周期导入+激活时。