存取 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 伺服器。