如何讀取伺服器日誌
以下是執行查詢的範例日誌
2021-07-07 15:53:18,560 DEBUG middleware.log :: POST /api/dataset 202 [ASYNC: completed] 46.9 ms (17 DB calls) App DB connections: 1/10 Jetty threads: 3/50 (4 idle, 0 queued) (72 total active threads) Queries in flight: 0 (0 queued); h2 DB 4 connections: 0/1 (0 threads blocked)
讓我們解開日誌
- 日誌時間:
2021-07-07 15:53:18,560
。 - 日誌層級:
DEBUG
。日誌層級有不同類型。若要深入瞭解,請查看Metabase 日誌。 - 命名空間:。
middleware.log
。您可以調整記錄層級,以從此命名空間取得更多或更少資訊。 - 方法:
POST
。HTTP 方法動詞,例如 POST、PUT、GET、DELETE。 - 路徑:
/api/dataset
。處理 URL。請注意,URL 參數未包含在內,這可能會使某些問題的偵錯變得有點棘手。 - 代碼:
202
。HTTP 狀態碼。 - ASYNC:
[ASYNC: completed]
。Metabase 是否可以將結果傳遞至瀏覽器。如果 Metabase 無法傳遞結果,例如,如果有人啟動查詢並在查詢完成前關閉瀏覽器,則 ASYNC 狀態將顯示「已取消」。 - 回應時間:
46.9 毫秒
。Metabase 處理請求所花費的時間(從 Metabase 收到請求到將結果傳回瀏覽器)。 - 資料庫呼叫:
(17 個資料庫呼叫)
。使用的查詢陳述式數量,除了對查詢資料來源的呼叫外,還包括對 Metabase 應用程式資料庫的呼叫。 - 應用程式資料庫連線:
應用程式資料庫連線:1/10
。作用中連線數,以及可用的連線池。 - Jetty 執行緒:
Jetty 執行緒:3/50 (4 個閒置,0 個排隊中)
。列出作用中執行緒數,以及可用的執行緒總池。(4 個閒置,0 個排隊中)
是備用熱執行緒,以及排隊的執行緒數。如果您發現執行緒池中的執行緒數已達上限,請查看Metabase 大規模部署。 - Java 執行緒:
(總共 72 個作用中執行緒)
。Metabase 正在使用的執行緒總數。 - 執行中的查詢:
執行中的查詢:0 (0 個排隊中)
。跨所有連線至 Metabase 的資料庫來源的作用中和排隊查詢數。我們建議查看下方的資料庫資訊,以針對與請求相關的資料庫問題進行疑難排解。 - 資料庫資訊:
h2 資料庫 4 個連線:0/1 (0 個執行緒已封鎖)
。顯示資料庫類型、資料庫 ID、作用中/集區連線(和佇列)。此資訊特定於與請求相關的資料庫(在此案例中為POST
請求),而非整體執行中的查詢。
閱讀其他Metabase 版本的文件。