50 lines
1.2 KiB
Elixir
50 lines
1.2 KiB
Elixir
|
defmodule Pleroma.PromEx do
|
||
|
use PromEx, otp_app: :pleroma
|
||
|
|
||
|
alias PromEx.Plugins
|
||
|
|
||
|
@impl true
|
||
|
def plugins do
|
||
|
[
|
||
|
# PromEx built in plugins
|
||
|
Plugins.Application,
|
||
|
Plugins.Beam,
|
||
|
{Plugins.Phoenix, router: Pleroma.Web.Router, endpoint: Pleroma.Web.Endpoint},
|
||
|
Plugins.Ecto,
|
||
|
Plugins.Oban
|
||
|
# Plugins.PhoenixLiveView,
|
||
|
# Plugins.Absinthe,
|
||
|
# Plugins.Broadway,
|
||
|
|
||
|
# Add your own PromEx metrics plugins
|
||
|
# Pleroma.Users.PromExPlugin
|
||
|
]
|
||
|
end
|
||
|
|
||
|
@impl true
|
||
|
def dashboard_assigns do
|
||
|
[
|
||
|
datasource_id: Pleroma.Config.get([Pleroma.PromEx, :datasource]),
|
||
|
default_selected_interval: "30s"
|
||
|
]
|
||
|
end
|
||
|
|
||
|
@impl true
|
||
|
def dashboards do
|
||
|
[
|
||
|
# PromEx built in Grafana dashboards
|
||
|
{:prom_ex, "application.json"},
|
||
|
{:prom_ex, "beam.json"},
|
||
|
{:prom_ex, "phoenix.json"},
|
||
|
{:prom_ex, "ecto.json"},
|
||
|
{:prom_ex, "oban.json"}
|
||
|
# {:prom_ex, "phoenix_live_view.json"},
|
||
|
# {:prom_ex, "absinthe.json"},
|
||
|
# {:prom_ex, "broadway.json"},
|
||
|
|
||
|
# Add your dashboard definitions here with the format: {:otp_app, "path_in_priv"}
|
||
|
# {:pleroma, "/grafana_dashboards/user_metrics.json"}
|
||
|
]
|
||
|
end
|
||
|
end
|