构建监视器 — 可视化并优化您的构建

Blog
Author:
Yohai WestYohai West
Published On:
8月 2, 2023
Estimated reading time:
1 minute

目录

一目了然,黑白分明

在生成式 AI 盛行的时代,我们仍在乏味地挖掘大量难以解读的文本输出,以查找软件构建中的错误、瓶颈和依赖关系,这似乎有些荒谬。

Incredibuild 开箱即用,使得算力更加强大,本地和云计算成本更低,从而加快开发周期,缩短产品上市时间。

Incredibuild 构建监视器以直观的图形界面取代了传统的文本输出,您可以轻松地在细粒度级别上识别和调查诸如依赖关系和瓶颈等问题,以更好地优化代码结构并进行构建。

能够直接对构建过程进行可视化审核,在缩短执行时间的同时查找瓶颈,这简直太棒了。” ——Richard Trotter

构建监视器的主要组件如下:

组件 说明
代理列表(Y 轴) 构建监视器的左侧窗格列出了构成您的 Incredibuild 计算网格的全部 CPU 逻辑内核。参与构建的逻辑内核称为代理。列表中的第一组代理始终是启动机器,或启动器。其余的机器是辅助机
进度(X 轴) 系统图显示了时间轴
条形 这些是编译器/链接器实例,或编译器/链接器进程
图形区域 承载了构建分析和优化中最重要的部分。它包含启动器的信息,如 CPU、内存、网络以及构建过程中任意时点的分布潜力。
任务颜色 通过任务颜色可以更好地了解构建流程和加速潜力:

紫色:当前正在运行的任务。

青色:已成功终止的本地运行任务(自定义构建步骤、链接操作或创建浏览信息)。

绿色:可在本地或远程机器上运行的可分发任务(例如在 Visual Studio 中编译,cl.exe),已成功完成。

黄色:生成构建警告的文件,通常是正常的,对构建无影响

红色:构建失败的文件

白色:任务被取消或移动至其他辅助机上。

让我们用一个更清晰的示例来了解下构建监视器的运作:

我们可以看到一个很大的“间隙”,在间隙的两侧只能看到绿色条形,而在这个间隙内只能执行蓝色任务。这种行为通常是由依赖关系造成的。显然,这并不意味着存在任何问题,但由于其如此轻易就检测到,也许值得我们研究一下这种依赖关系的存在是否必要。

另一个示例是图形区域的指示器——“就绪任务”和“活动任务”。当其彼此接近或相等时(如左侧示例所示),构建已被充分利用,没有进一步的加速潜力。但是,在右侧,我们可以看到“就绪任务”高于实际的“活动任务”。要进一步优化构建,您只需添加更多资源。

回溯时间并回放构建

回放您的构建记录,并查看其执行情况和过程。共享您的构建执行情况,以便团队其他成员也能进行回放并进一步分析构建结果:

在不同的显示类型之间切换

通过构建监视器,您能以四种不同的显示类型来查看构建过程和输出结果。在不同显示类型之间切换,以最便捷的方式全面了解构建情况:

进度显示

将构建文件转换为彩色的条形图。每种颜色都代表着相关文件的特定状态,因此您可以看到哪些文件已顺利完成构建,哪些出现了问题:

输出显示

查看整个构建生成的输出文本,类似于 Microsoft Visual Studio 构建生成的内容:

项目显示

清晰区分各个项目基于文本的输出消息,包括警告和错误消息:

全部信息汇总

在一个地方整合当前构建的全部信息和统计数据,进行高层次概览:

自定义您自己的构建图表

选择您关心的参数,并将它们转换为可视化图表。实时跟踪包括 CPU 使用率、待处理任务、内存使用、I/O 等在内的十多项相关 KPI:

收集执行数据的统一方式

您在哪个平台上、以何种类型执行程序并不重要。构建监视器提供了一种统一的方式来收集和比较数据,无论数据来自何处。将鼠标悬停在条形上,可查看任务的命令行:

双击任务可直接进入相关文本输出:

现在就使用 Incredibuild,以全新的方式开始可视化您的构建,并加速您的开发。