访问 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 连接。