PerfStats

PerfStats 是一个用于低开销选择性收集内部性能指标的框架。结果可以通过 ChromeUtils、Browsertime 输出以及某些性能测试访问。

添加新的 PerfStat

通过将其添加到 此列表 中的 PerfStats.h 来定义新的 PerfStat。然后,在 C++ 代码中,使用 RAII 对象包装执行,例如:

PerfStats::AutoMetricRecording<PerfStats::Metric::MyMetric>()

或者手动调用以下函数:

PerfStats::RecordMeasurement(PerfStats::Metric::MyMetric, Start, End)

对于递增计数器,使用以下方法:

PerfStats::RecordMeasurementCount(PerfStats::Metric::MyMetric, incrementCount)

这是一个添加和使用新 PerfStat 的补丁示例。

启用收集

要启用收集,请使用 ChromeUtils.SetPerfStatsCollectionMask(MetricMask mask),其中 mask=0 禁用所有指标,而 mask=0xFFFFFFFF 启用所有指标。 MetricMask 是基于 Metric 的位掩码,即 Metric::LayerBuilding (2) 等同于 MetricMask 中的 1 << 2

访问结果

可以使用 ChromeUtils.CollectPerfStats() 访问结果。Browsertime 测试框架将跨进程汇总结果并在其输出中报告。raptor-browsertime Windows 基本页面加载测试也会收集所有 PerfStats。