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)
启用收集¶
要启用收集,请使用 ChromeUtils.SetPerfStatsCollectionMask(MetricMask mask)
,其中 mask=0
禁用所有指标,而 mask=0xFFFFFFFF
启用所有指标。 MetricMask
是基于 Metric
的位掩码,即 Metric::LayerBuilding (2)
等同于 MetricMask
中的 1 << 2
。
访问结果¶
可以使用 ChromeUtils.CollectPerfStats()
访问结果。Browsertime 测试框架将跨进程汇总结果并在其输出中报告。raptor-browsertime Windows 基本页面加载测试也会收集所有 PerfStats。