用途:从本地 git 历史与 GitHub API 计算四项 DORA 交付绩效指标——部署频率(DF)、变更前置时间(LT)、变更失败率(CFR)、服务恢复时间(TRS),并按 DORA《State of DevOps》阈值将每项分为 Elite、High、Medium、Low,同时给出整体等级(四项中最弱)与瓶颈指标。
主要能力:输出每项指标的数值与等级;支持 JSON 输出以便与发布健康门禁快照一起持久化趋势;可用 kuva 渲染趋势图(kuva 从 stdin 或文件读取 TSV/CSV,安装命令为 cargo install kuva --features cli)。
使用方式:运行 python3 -m minister.dora_metrics --window 30 --branch main。常用参数:--window(默认 30,测量窗口天数)、--branch(默认 HEAD,生产分支)、--failure-label(默认 bug,标记生产故障的 GitHub 标签)、--json(默认关闭,输出 JSON)、--repo-path(默认 cwd,仓库目录)。审计 AI 辅助工作流时,同一窗口跑两次,一次过滤 AI 撰写的 PR(如 --failure-label ai-bug),一次覆盖全部 PR,比较 CFR 差值。
适用场景:工程管理回顾与季度评审;审计 AI 辅助 PR、自动部署等工作流是否提升或回退速度与稳定性;为发布健康门禁提供等级信号。
限制:不适用于需要故事点燃尽图的单团队速度跟踪;DORA 假设存在明确的生产分支或发布节奏,缺少这些的仓库不适用。验证时可缩小窗口重跑,检查 DF 与 LT 是否按预期缩放;CFR 与 TRS 可抽样两三个相关 GitHub issue 核对标签。单元测试位于 plugins/minister/tests/unit/test_dora_metrics.py,每个等级边界都在阈值处被测试。