mcpField
D
dora-metrics

dora-metrics

github.com/athola云与 DevOps34351 次安装1 天前更新
代码仓库

关于 dora-metrics

该 Skill 从本地 Git 历史和 GitHub API 计算四项 DORA 交付绩效指标,并按等级划分结果。它面向工程管理复盘及 Agent 工作流审计,同时指出最弱指标作为改进重点。

主要功能

  1. 01计算四项 DORA 指标
  2. 02按 Elite、High、Medium、Low 分类
  3. 03标出整体等级与瓶颈指标
  4. 04支持指定时间窗口和分支
  5. 05输出文本或 JSON 报告

适用场景

  1. 01开展工程团队季度复盘
  2. 02比较 AI 参与 PR 前后的失败率
  3. 03将等级信号传入发布健康门禁
  4. 04汇总多个窗口的数据绘制趋势图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill dora-metrics

安装后在 Claude Code 中输入/dora-metrics确认已加载。

附带文件modules/agentic-workflow-signals.mdmodules/thresholds.md

详细介绍

DORA 指标

用途

根据本地 git 历史记录和 GitHub API,计算四项 DORA 交付绩效指标(部署频率、变更前置时间、变更失败率和服务恢复时间)。使用 DORA《State of DevOps》研究中的阈值,将每项指标划分为 Elite、High、Medium 或 Low,并指出最弱的维度,作为下一步改进目标。

适用场景

  • 工程管理回顾和季度评审。
  • 审核 Agent 工作流(AI 辅助 PR、自动部署)是否提升了速度和稳定性,或在不知不觉中导致退步。
  • 将等级信号传入 minister:release-health-gates。

不适用场景

  • 需要跟踪故事点燃尽图,而不是基于交付绩效证据来衡量的单团队速度跟踪。
  • 没有明确生产分支或发布节奏的代码库;DORA 假设二者明确存在。

工作流

  1. 使用所需的时间窗口运行辅助脚本:

    python3 -m minister.dora_metrics --window 30 --branch main
    
  2. 阅读输出:每项指标的值、等级分类和瓶颈提示。

  3. 对于 Agent 工作流审计,使用相同的时间窗口运行两次。一次仅筛选由 AI 编写的 PR(例如,使用 --failure-label ai-bug),一次涵盖所有 PR。比较 CFR 差值。参见 modules/agentic-workflow-signals.md。

  4. 可选择将 --json 的输出传入跟踪器,以便将趋势数据与 release-health-gates 快照一同保存。

  5. 在查看多个时间窗口或比较 Agent 工作流变更前后的情况时,可选择使用 kuva 绘制趋势图:

    # Collect weekly snapshots into a TSV, then plot all four metrics
    # week<TAB>metric<TAB>value
    kuva line trends.tsv --x week --y value --color-by metric \
        --title "DORA trends (30-day windows)" -o dora-trends.svg
    
    # Quick terminal preview without writing a file
    kuva line trends.tsv --x week --y value --color-by metric --terminal
    

    kuva 可从 stdin 或文件路径读取 TSV/CSV。只需安装一次: cargo install kuva --features cli。无需更改项目源代码。完整的绘图类型参考请参见 kuva。

输入

标志默认值含义
--window30测量窗口(天)
--branchHEAD生产分支
--failure-labelbug标记生产故障的 GitHub 标签
--jsonoff输出 JSON,而非人类可读格式
--repo-pathcwd代码库目录

输出

简短的文本报告或 JSON 负载,包含:

  • 每项指标的数值(例如,4.2/day、2.1 hours、8%)。
  • 每项指标的等级(Elite、High、Medium、Low)。
  • 总体等级(四项指标中最弱的一项)。
  • 瓶颈键,用于标识应重点改进的指标。

等级阈值

完整表格请参见 modules/thresholds.md。简要概述:

指标EliteHighMediumLow
DF>= 1/day>= 1/week>= 1/month< 1/month
LT<= 1 day<= 1 week<= 1 month> 1 month
CFR<= 15%<= 30%<= 45%> 45%
TRS< 1 hour< 1 day< 1 week>= 1 week

验证

通过在更短的时间窗口内重新运行脚本,并检查 DF 和 LT 是否按预期缩放,确认 DORA 报告真实可靠。对于 CFR 和 TRS,抽查两三个相关的 GitHub issue,并确认每个 issue 上的 bug(或所选)标签正确。

测试

单元测试位于 plugins/minister/tests/unit/test_dora_metrics.py。每个等级边界都会在阈值处进行测试,因此,今后贡献者调整比较运算符(> 与 >=)时,会触发失败,而不是造成静默回归。扩展分类逻辑时,请在阈值处添加新测试。

退出标准

  • 已针对请求的时间窗口生成 DORA 报告。
  • 四项指标均已划分等级。
  • 已指出瓶颈维度。
  • 输出可在终端或 PR 评论中阅读。

评论

支持 Markdown