效果指标的命名样式

本页介绍了应该用于通过 fuchsiaperf.json 文件报告的性能指标的命名样式。

每个指标名称由两部分组成:

  • 测试套件(test_suite 字段):此部分应采用小写形式,各组成部分之间以点分隔。它应以“fuchsia.”开头。例如“fuchsia.microbenchmarks”。

  • 测试名称(label 字段):这通常应是 CamelCaseName(而不是 snake_case_name)。名称的各个部分应使用斜杠进行分隔,例如“Syscall/Null”。

    如果指标来自参数化测试(即使用不同参数值多次实例化的测试),则可以将参数值作为斜杠分隔部分包含在内,例如“Memcpy/100000bytes”。

    对于使用 perftest C++ 库的多步骤测试,指标名称将包含后跟句点的步骤名称,例如“Event/Replace.Replace_handle”。对于这些选项,步骤名称应采用蛇形命名法(小写,带下划线)。

这个由两部分组成的命名空间结构继承自 Chromeperf。

避免在名称中添加“benchmarks”或“test”作为后缀,因为它是多余的。

一些基于轨迹的性能测试使用不同的命名惯例,其中测试套件字段用作测试的名称(遵循上述样式,例如“fuchsia.flatland_latency.view-provider-example”),而测试名称字段则用作该测试生成的指标的名称(遵循较宽松的命名约束“Load_sync Load_latency”,例如:

系统会通过 performance.dart 库在所有性能测试中强制执行一些弱命名限制,或者在 Python 中由 perf_publish 库强制执行一些弱命名限制。

当前的指标名称列表

如需查看当前的指标列表,请通过 terminal.x64 CI 构建器查看近期成功的构建,并查看“摘要性能测试结果”(“stdout”链接)下的输出。

当前使用的指标名称并不总是遵循这些命名准则。到目前为止,还没有对指标名称进行大规模重命名,因为 Chromeperf 无法很好地处理重命名:重命名会破坏 Chromeperf 中的连续性。Chromeperf 无法针对重命名后的指标绘制结果图表,并且可能会遗漏在重命名附近发生的回归。解决此限制后,就可以进行大规模重命名。