如何在客户端上检索Bazel远程缓存指标

问题描述

上下文

我们希望获得客户指标,以便我们可以跟踪每个目标的构建时间,目标输出的大小以及它们是否是远程缓存命中。

通常,我们可以使用以下两个标志来检索每个输出的大小(如果是远程高速缓存命中)以及编译/下载所花费的时间:

我们的用例

我们无法使用执行日志,因为我们的构建太大(几个GB)。

我们无法使用配置文件,因为它没有有关远程高速缓存命中或文件大小的信息。

理想情况下,我们希望将两者结合起来。

问题

是否可以在一个位置检索所有这些信息?生成事件协议会公开这些指标吗? this issue可能与之相关。

解决方法

构建事件协议是要走的路。我们正在使用 BuildBuddy 来获取这些指标。我们还修改了 BuildBuddy 的 fork 以保存/检索自定义指标。