访问 LNT 外部的數據:REST API¶
LNT 提供 REST API 来访问存储在 LNT 数据库中的数据。
端点¶
API 端点位于顶级 api 路径下,并具有相同的数据库和测试套件布局。例如
http://lnt.llvm.org/db_default/v4/nts/machine/1330
Maps to:
http://lnt.llvm.org/api/db_default/v4/nts/machines/1330
机器端点允许访问所有机器,以及为其收集的属性和运行。运行端点将获取运行和样本数据。样本端点允许一次批量导出多个运行中的样本。
端点 |
描述 |
/machines/ |
列出此测试套件中的所有机器。 |
/machines/id |
获取机器 id 的所有运行信息和机器字段。 |
/runs/id |
获取一个运行 id 的所有运行信息和样本数据。 |
/orders/id |
获取订单 id 的所有订单信息。 |
/samples?runid=1&runid=2 |
检索一组运行 ID 的所有样本数据。运行 ID 应作为参数传递 将在 samples 部分返回样本数据,作为字典列表,每个指标类型都有一个键。不会发送空样本。 |
/samples/id |
获取样本 id 的所有非空样本信息。 |
/schema |
返回测试套件架构。 |
/fields |
返回此测试套件中的所有字段。 |
/tests |
返回此测试套件中的所有测试。 |
/graph_for_sample/id/f_name |
重定向到包含 ID 为 id 的样本和字段 f_name 的图表。这可用于根据运行 API 返回的样本数据生成指向图表的链接。传递给此端点的任何参数都将附加到图表 URL 以控制图表的格式等。注意,此端点不在 /api/ 下,但与图表 URL 位置匹配。 |
写入操作¶
机器、订单和运行端点也支持 DELETE http 方法。用户必须包含一个名为“AuthToken”的 http 标头,其中包含在 LNT 实例配置中设置的 API 身份验证令牌。
可以通过将 api_auth_token 添加到实例的 lnt.cfg 配置文件中来设置 API 身份验证令牌。
# API Auth Token
api_auth_token = "SomeSecret"
示例
curl --request DELETE --header "AuthToken: SomeSecret" http://localhost:8000/api/db_default/v4/nts/runs/1
访问 LNT 外部的數據:Tableau Web 数据连接器¶
Tableau 分析 是一个流行的数据分析平台。LNT 具有内置的 Tableau Web 数据连接器 (WDC),以便轻松地将 LNT 数据导入 Tableau。
在 Tableau 中,创建一个新的 Web 数据连接器类型的数据源。当提示输入 URL 时,使用标准数据库和套件 URL,后跟 /tableau。
示例
# WDC for a public server
https://lnt.llvm.org/db_default/v4/nts/tableau
# WDC for a local instance
http://localhost:5000/db_default/v4/nts/tableau
# WDC for a different database and suite
http://localhost:5000/db_my_perf/v4/size/tableau
WDC 导出为一组机器提交的所有数据。WDC 将提示输入机器正则表达式。正则表达式与此数据库/套件中的机器名称匹配。您可以在类似 <base>/db_default/v4/nts/machine/ 的 URL 中看到这些机器名称。
正则表达式是 JavaScript 正则表达式。
正则表达式将取决于您的机器名称。一些假设的示例,机器名称格式为 clang-arch-branch
.* # All machines.
clang-.* # All clang machines.
clang-arm(64|32)-branch # Arm64 and Arm32
clang-arm64-.* # All the branches.
然后,WDC 将填充所选机器的所有数据。
注意:为了提高性能,WDC 具有增量支持。下载结果后,它们应该刷新并快速获取新结果。
您可以对 LNT 服务器有多个 WDC 连接。