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