total rebase
[anni] / lib / pleroma / prom_ex.ex
1 defmodule Pleroma.PromEx do
2   use PromEx, otp_app: :pleroma
3
4   alias PromEx.Plugins
5
6   @impl true
7   def plugins do
8     [
9       # PromEx built in plugins
10       Plugins.Application,
11       Plugins.Beam,
12       {Plugins.Phoenix, router: Pleroma.Web.Router, endpoint: Pleroma.Web.Endpoint},
13       Plugins.Ecto,
14       Plugins.Oban
15       # Plugins.PhoenixLiveView,
16       # Plugins.Absinthe,
17       # Plugins.Broadway,
18
19       # Add your own PromEx metrics plugins
20       # Pleroma.Users.PromExPlugin
21     ]
22   end
23
24   @impl true
25   def dashboard_assigns do
26     [
27       datasource_id: Pleroma.Config.get([Pleroma.PromEx, :datasource]),
28       default_selected_interval: "30s"
29     ]
30   end
31
32   @impl true
33   def dashboards do
34     [
35       # PromEx built in Grafana dashboards
36       {:prom_ex, "application.json"},
37       {:prom_ex, "beam.json"},
38       {:prom_ex, "phoenix.json"},
39       {:prom_ex, "ecto.json"},
40       {:prom_ex, "oban.json"}
41       # {:prom_ex, "phoenix_live_view.json"},
42       # {:prom_ex, "absinthe.json"},
43       # {:prom_ex, "broadway.json"},
44
45       # Add your dashboard definitions here with the format: {:otp_app, "path_in_priv"}
46       # {:pleroma, "/grafana_dashboards/user_metrics.json"}
47     ]
48   end
49 end