從 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/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 驗證權杖可以透過將 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 類型的資料來源。當系統提示輸入網址時,請使用標準的資料庫和套件網址,後面接著 /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/ 的網址中看到這些機器名稱。
正規表示式是一個 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 伺服器。