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 旁边。

Orbit 项目的 Build Insights 标签页

Build Insights:摘要卡片

该标签页将自身描述为构建时长百分位数、缓存命中率、成功率以及所选时间窗口内的趋势,该时间窗口可在页面顶部调整。

卡片它告诉您什么
总构建数有多少构建运行,分为成功和失败
成功率评级为 HealthyOKNeeds 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 指标,性能等级为 EliteHighMediumLow,加上与过去 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 为空。 时间窗口内没有生产失败,因此没有什么需要恢复的。这是好的情况。

接下来去哪里

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel
Orbit构建洞察和交付洞察