Orbit
Orbit构建洞察和交付洞察
Orbit has two insight views: a per-project Build Insights tab that answers "why are our builds slow", and an account-wide Insights page that answers "how well are we shipping". This guide covers…
Orbit 有两个洞察视图:一个针对项目的 Build Insights 标签页用于回答"为什么我们的构建很慢",以及一个账户范围的 Insights 页面用于回答"我们的发布效率如何"。本指南涵盖两者以及何时使用哪个。
两个视图的位置
Build Insights 是针对项目的。打开 Orbit,点击项目,然后在项目标签页条的 Observability 组中选择 Build Insights。
Insights 是账户范围的。打开 Orbit 并从顶级导航中选择 Insights,该选项位于 Mission control 和 Usage 旁边。

Build Insights:摘要卡片
该标签页将自身描述为构建时长百分位数、缓存命中率、成功率以及所选时间窗口内的趋势,该时间窗口可在页面顶部调整。
| 卡片 | 它告诉您什么 |
|---|---|
| 总构建数 | 有多少构建运行,分为成功和失败 |
| 成功率 | 评级为 Healthy、OK 或 Needs attention |
| 构建时长 p50 | 中位数构建,下方显示 p95 和 p99 |
| 缓存命中率 | 命中与未命中的对比 |
| 缓存节省 | 缓存为您节省的计算时间 |
p50 与 p95 和 p99 的配对很关键。p50 为 90 秒、p99 为 95 秒的构建表现良好。p50 为 90 秒、p99 为 11 分钟的构建表明偶尔出现严重问题,平均值会完全隐藏这一点。
如果时间窗口内没有构建,页面会说明这一点,并建议如果您的部署较旧,请选择更大的时间窗口。
构建量和时长趋势
趋势图表绘制了时间窗口内的日构建数,并覆盖了平均时长。悬停在某一天会显示该天的计数、成功和失败的分布,以及平均值。
将两个系列一起阅读。构建量增加而时长持平说明团队发布更多是健康的。构建量持平而时长上升说明构建在悄悄衰退,通常是由于依赖项增长或缓存停止工作。
框架和包管理器
两个分项位于趋势下方:
- 按框架,按 Orbit 检测到的框架分组成功构建。
- 包管理器,跨所有构建。
在单个应用项目上,这些各为一行,不是很有趣。在单体仓库或包含多个项目的账户上,这是您发现异常的方式:一个应用使用不同的包管理器,或某个框架拉低了平均值。
框架检测也会驱动 Orbit 的默认构建设置:参见 Orbit 支持的框架。
最慢的构建
最慢的 10 个成功构建 表列出了您的最差表现,包括分支、时长和排队时间,页面将其描述为优化的候选项。
特别注意 Queued 列。一个花费 8 分钟(其中 6 分钟用于排队)的构建不是慢构建,而是构建主机忙碌,优化您的 npm ci 无法帮助。一个花费 8 分钟且没有排队时间的构建确实很慢,值得优化。
在优化构建阶段之前,先优化最慢构建的安装阶段。安装是预热缓存发挥作用的地方,通常是最容易取胜的。配置您的构建命令和输出目录 涵盖相关的设置。
缓存节省
该标签页量化了构建缓存在时间窗口内节省的计算时间。这个数字是保持缓存健康的理由。
如果缓存命中率低,常见原因是:
- 每次提交都会改变的锁文件,导致缓存每次都失效。
- 被有意清除的构建,尚未再次预热。
- 部署之间间隔很长。
清除缓存会重置这个值,这在您在调试时习惯性地清除它之前值得记住。
交付洞察:DORA 指标
账户范围的 Insights 页面涵盖过去 30 天的所有项目,并将数字框架化为 DORA 指标,性能等级为 Elite、High、Medium 或 Low,加上与过去 30 天的对比。
| 指标 | 页面上的定义 |
|---|---|
| 部署频率 | 您部署的频率,所有环境,所有项目 |
| 交付时间 (P50) | 提交排队到部署,附带 P95 |
| 变更失败率 | 失败的生产部署 |
| MTTR (中位数) | 失败到下一次生产成功 |
这四个指标有意处于相互制约中。您可以通过每月部署一次来使变更失败率看起来完美,也可以通过不断发布和破坏内容来使部署频率看起来优异。这个集合只有在一起阅读时才有意义,与过去 30 天的趋势对比比绝对等级更重要。
项目分项
指标下方是同一 30 天期间每个项目的表格:部署、成功、失败和平均构建时间。
这是找到拖累账户的项目的最快方法:成功率低的项目,或平均构建时间是其他项目几倍的项目。接下来打开其 Build Insights 标签页了解详情。
如果根本没有数据,页面会说明这一点并提示您推送到分支以开始。
打开哪个视图
- 构建很慢。 项目的 Build Insights。查看 p50 与 p95,然后是排队等待,再然后是最慢构建表。
- 构建持续失败。 Build Insights 的失败率,然后是 Analytics 标签页的失败原因分类:参见 Orbit 项目分析。
- 有人询问团队的交付情况。 Insights,账户范围。四个 DORA 指标及其趋势箭头直接回答了这个问题。
- 您正在选择接下来要处理的工作。 先查看 Insights 找到项目,再查看 Build Insights 找到原因。
故障排除
页面是空的,但我知道我们在部署。 扩大时间窗口。Build Insights 默认使用比您可能预期的更短的时间窗口,账户范围的页面固定为 30 天。
缓存命中率为零。 要么缓存最近被清除,要么您的计划不包括构建缓存。参见 Orbit 计划限制。
交付时间看起来很长。 交付时间从提交到上线测量,所以在首次提交后数周才合并的长期分支会拉高它。这是真实的信息,不是错误:它告诉您工作正在等待合并。
MTTR 为空。 时间窗口内没有生产失败,因此没有什么需要恢复的。这是好的情况。
接下来去哪里
- Orbit 项目分析 了解更完整的每项目情况。
- 构建失败故障排除 一旦您知道哪些构建失败。
- Orbit 部署管道 了解位于提交和生产之间的门控。