Bazel如何记录缓存命中



各位Bazel用户好,

我正在尝试理解在Bazel缓存命中和操作执行环境的日志记录。

首先,我注意到有一个Action_cache。提供有关缓存命中的信息的Proto文件。我可以假设它是本地缓存命中数吗?

其次,在ActionResult.java类中,如果所有动作的衍生都在本地执行,则boolean locallyExecuted返回true。在我的理解中,1个动作= 1次刷出,所以这是否意味着1个动作= x次刷出,以及一些刷出可以在本地/远程执行?这将是令人困惑的,因为SpawnStats.java中的跑步者列表是基于每个刷出,但当打印在构建摘要(在控制台)时,我们可以看到跑步者的数量=行动的数量。

最后,在SpawnMetrics.java中我们可以找到不同的执行类型,即REMOTE, LOCAL, WORKER, OTHER。我只是想知道WORKER是否属于本地执行?

谢谢你的帮助!

这里提到了检查缓存速率的计算

INFO: 7个进程:3个远程缓存命中,4个linux-sandbox.

这意味着在7个尝试的操作中,3个获得了远程缓存命中,4个操作没有缓存命中,并且使用linux-沙箱策略在本地执行。本地缓存命中不包括在此摘要中。如果您得到0个进程(或低于预期的数字),请运行bazel clean,然后运行build/test命令。

最新更新