1. 主页
  2. 文档
  3. Fuchsia OS 简体中文文档 (2019年版)
  4. 开发
  5. 基准测试
  6. 基准测试结果模式

基准测试结果模式

  • 更新于:2018 年 8 月 9 日

[TOC]

这个文档描述了 Fuchsia 基准测试结果必须遵守的 JSON 模式,只有这样才能将结果上传到性能面板上。

辅助库

如果你正创建一个可追踪的基准测试,你的导出结果会有正确的模式。

如果你正编写你自己的基准测试程序,那么你就可以使用现有的 Fuchsia 库用于你自己的编程语言用于放出 JSON 数据:

注意:如果你的基准测试使用不同的语言,请提供一个可用库,或者添加一个 bug 用于请求添加一个该语言的辅助库。

JSON 描述

[
    {
        "label": string       // 在性能显示面板中的测试用例名字
        "test_suite": string  // 在性能面板中的测试包名字
        "unit": string        // 其中一个支持单元(参考下面)
        "values": [v1, v2..]  // 在这个测试用例中几个要收集的值
        "split_first": bool   // 是否要将 [values] 中的第一个值和其余的分开
    },
    {
        ...
    }
]

支持单元

为了将基准测试结果转换成性能信息显示面板要求格式,unit 必须是下面字符串之一,这些字符串描述了测试单元的结果的 values

  • nanoseconds or ns
  • milliseconds or ms
  • bytes/second
  • bytes

例子

[
    {
        "label": "Channel/WriteRead/64bytes",
        "test_suite": "fuchsia.zircon_benchmarks",
        "unit": "nanoseconds",
        "values": [105.45, 697.916667, 672.743056],
        "split_first": true
    },
    {
        "label":"Channel/WriteRead/1024bytes",
        "test_suite":"fuchsia.zircon_benchmarks",
        "unit":"nanoseconds",
        "values":[102.23, 1004.340278, 906.250000],
        "split_first": true
    }
]

split_first 的作用

当测试结果中第一个值由于外部的影响(比如空缓存)影响准确性时,split_first 参数就非常有用了。当该参数取值 true ,基准测试结果会在性能显示面板以两个单独的序列出现。

  1. $label/samples_0_to_0追踪 values 中第一个元素。
  2. $label/samples_1_to_N追踪剩余的 values
标签
这篇文章对您有用吗?

我们要如何帮助您?

Comments

Leave a reply

您的电子邮箱地址不会被公开。