访问 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” 端点允许访问所有机器,以及为其收集的属性和运行。“runs” 端点将获取运行和样本数据。“samples” 端点允许一次性从多个运行中批量导出样本。

端点

描述

/machines/

列出此测试套件中的所有机器。

/machines/id

获取机器 id 的所有运行信息和机器字段。

/runs/id

获取一个运行 id 的所有运行信息和样本数据。

/orders/id

获取订单 id 的所有订单信息。

/samples?runid=1&runid=2

检索运行 ID 列表的所有样本数据。运行 ID 应作为 args 传递。将在 samples 部分中返回样本数据,作为字典列表,每个指标类型都有一个键。不发送空样本。

/samples/id

获取样本 id 的所有非空样本信息。

/schema

返回测试套件 schema。

/fields

返回此测试套件中的所有字段。

/tests

返回此测试套件中的所有测试。

/graph_for_sample/id/f_name

重定向到包含 ID 为 id 的样本和字段 f_name 的图形。这可以用于基于运行 API 返回的样本数据生成图形链接。传递到此端点的任何参数都将附加到图形 URL,以控制图形的格式等。请注意,此端点不在 /api/ 下,但与图形 URL 位置匹配。

写入操作

“machines”、“orders” 和 “runs” 端点也支持 DELETE http 方法。用户必须包含一个名为 “AuthToken” 的 http 标头,该标头在 LNT 实例配置中设置了 API 身份验证令牌。

API 身份验证令牌可以通过将 api_auth_token 添加到实例的 lnt.cfg 配置文件中来设置。

# 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 Analytics 是一个流行的数据分析平台。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 将提示输入机器正则表达式。该 regexp 与此数据库/套件中的机器名称匹配。您可以在类似 <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 连接。