我想在执行 bazel 构建时获得每个规则成本的时间。我在 bazel 中找到了方面,使用该功能我可以在日志文件中打印每个规则的完成时间。
但是,我发现在规则执行之后执行规则的方面,当规则开始执行时我无法获得。
那么有没有办法在执行之前扩展规则?
我想在执行 bazel 构建时获得每个规则成本的时间。我在 bazel 中找到了方面,使用该功能我可以在日志文件中打印每个规则的完成时间。
但是,我发现在规则执行之后执行规则的方面,当规则开始执行时我无法获得。
那么有没有办法在执行之前扩展规则?
Bazel 有内置的性能分析,它提供了很多细节。运行您的构建,--profile=/tmp/profile.gz
然后将生成的文件加载到chrome://tracing
任何 Chrome 实例中。你会得到这样的东西(来自文档):
请注意,由于bazelbuild/bazel#12965,您可能需要在加载到 Chrome 之前手动解压缩它。
如果您想编写一个工具来自己分析它,还有关于配置文件格式的文档。