檢視原始程式碼 設定 Ecto 資料儲存庫統計資料
此指南會說明如何設定 LiveDashboard,以顯示底層資料庫的統計資料。目前,這些統計資料只能顯示在於 Ecto.Adapters.Postgres
或 Ecto.Adapters.MyXQL
上執行的 Ecto 資料儲存庫。
安裝 Ecto 統計資料
PostgreSQL
要在您的儀表板中啟用 PostgreSQL 的「Ecto 統計資料」功能,您需要執行下列三個步驟
- 加入
ecto_psql_extras
相依性 - (選用) 設定儀表板
- (選用) 安裝自訂 PostgreSQL 擴充元件
加入 ecto_psql_extras
相依性
在您的 mix.exs
中,將以下內容加入 deps
{:ecto_psql_extras, "~> 0.6"},
MySQL/MariaDB
要在您的儀表板中啟用 MySQL 或 MariaDB 的「Ecto 統計資料」功能,您需要執行下列三個步驟
- 加入
ecto_mysql_extras
相依性 - (選用) 設定儀表板
- (選用) MySQL/MariaDB 設定
加入 ecto_mysql_extras
相依性
在您的 mix.exs
中,將以下內容加入 deps
{:ecto_mysql_extras, "~> 0.3"},
SQLite
要在您的儀表板中啟用 SQLite 的「Ecto 統計資料」功能,您需要執行下列三個步驟
- 加入
ecto_sqlite3_extras
相依性 - (選用) 設定儀表板
加入 ecto_sqlite3_extras
相依性
在您的 mix.exs
中,將以下內容加入 deps
{:ecto_sqlite3_extras, "~> 1.2.0"},
設定儀表板
此步驟僅在您想要限制儀表板中列出的資料儲存庫時才需要,因為預設情況下將會列出所有的資料儲存庫。
前往路由器中的 live_dashboard
呼叫,並列出您的資料儲存庫
live_dashboard "/dashboard", ecto_repos: [MyApp.Repo]
您想要列出連接到不同資料庫的所有儲存庫。例如,如果您同時有 MyApp.Repo
和 MyApp.RepoAnother
,但它們連接到同一個資料庫,則列出兩者沒有任何好處。請注意,只有在 Ecto.Adapters.Postgres
或 Ecto.Adapters.MyXQL
上執行的 Ecto 儲存庫目前受支援。
如果您想完全停用「Ecto 統計資料」選項,請設定 ecto_repos: []
。
某些查詢(例如 long_running_queries
)可以透過傳遞用於 PostgreSQL 的額外 ecto_psql_extras_options
或用於 MySQL/MariaDB 的 ecto_mysql_extras_options
進行組態,它們是一個關鍵字,其中
- 每個金鑰都是查詢的名稱
- 每個值本身都是要當作
args
傳遞的關鍵字
例如,如果您想組態 long_running_queries
的臨界值
PostgreSQL 範例
live_dashboard "/dashboard",
ecto_repos: [MyApp.Repo],
ecto_psql_extras_options: [long_running_queries: [threshold: "200 milliseconds"]]
請參閱 ecto_psql_extras
文件,以取得可用的選項。
MySQL/MariaDB 範例
live_dashboard "/dashboard",
ecto_repos: [MyApp.Repo],
ecto_mysql_extras_options: [long_running_queries: [threshold: 200]]
請參閱 ecto_mysql_extras
文件,以取得可用的選項。
SQLite 範例
live_dashboard "/dashboard",
ecto_repos: [MyApp.Repo],
ecto_sqlite3_extras_options: []
請參閱 ecto_sqlite3_extras
文件,以取得可用的選項。
安裝自訂 PostgreSQL 延伸模組
儲存庫頁面啟用後,某些查詢(呼叫和異常值)需要安裝 pg_stat_statements 延伸模組。如果您想存取上述功能,您必須先安裝延伸模組,否則不會顯示上述功能。
MySQL/MariaDB 組態
存取儲存庫的使用者應該具有存取特定系統等級資料庫的權限。請參閱 ecto_mysql_extras
文件,以取得會使用哪些結構的詳細資料。
對於 MariaDB,performance_schema
沒有預設啟用。若要啟用此設定項,請將 performance_schema=ON
加入 my.cnf
。這些變更在重新啟動後會生效。請參閱 ecto_mysql_extras
文件,以取得詳細資料。