存取 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 應作為 args 傳遞。將在樣本區段中傳回樣本資料,作為字典列表,每個指標類型都有一個鍵。不會傳送空樣本。

/samples/id

取得樣本 id 的所有非空樣本資訊。

/schema

傳回測試套件綱要。

/fields

傳回此測試套件中的所有欄位。

/tests

傳回此測試套件中的所有測試。

/graph_for_sample/id/f_name

重新導向到包含 ID 為 id 的樣本和欄位 f_name 的圖表。這可以用於根據執行 API 傳回的樣本資料產生圖表的連結。傳遞到此端點的任何參數都會附加到圖表 URL,以控制圖表的格式等。請注意,此端點不在 /api/ 下,但與圖表 URL 位置符合。

寫入操作

機器、訂單和執行端點也支援 DELETE http 方法。使用者必須包含一個名為 “AuthToken” 的 http 標頭,其中 API 授權權杖設定在 LNT 執行個體組態中。

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 Data Connector

Tableau Analytics 是一個受歡迎的資料分析平台。LNT 內建了 Tableau Web Data Connector (WDC),以便輕鬆將 LNT 資料導入 Tableau。

在 Tableau 中,建立一個 Web Data Connector 類型的新資料來源。當提示輸入 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 具有增量支援。一旦結果下載完成,它們應該快速重新整理並取得新結果。

您可以有多個 WDC 連線到一個 LNT 伺服器。