本页介绍了应该用于通过 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 无法针对重命名后的指标绘制结果图表,并且可能会遗漏在重命名附近发生的回归。解决此限制后,就可以进行大规模重命名。