feat: expose system metrics (#4)

Use prom_ex to expose system metrics to prometheus and create dashboards.

Co-authored-by: Joao P Dubas <joao.dubas@gmail.com>
Reviewed-on: #4
This commit is contained in:
2022-05-03 16:19:39 +00:00
parent 39419f8837
commit 34c3a3e4c2
10 changed files with 126 additions and 17 deletions

View File

@@ -16,6 +16,8 @@ defmodule WabanexWeb.Endpoint do
socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]]
plug PromEx.Plug, prom_ex_module: Wabanex.PromEx
# Serve at "/" the static files from "priv/static" directory.
#
# You should set gzip to true if you are running phx.digest

View File

@@ -17,10 +17,11 @@ defmodule WabanexWeb.Schema.Types.Custom.DateRange do
end
@spec serialize_range(PgRanges.DateRange.t()) :: String.t()
@spec serialize_range(list(DateTime.t() | nil)) :: String.t()
@spec serialize_range(list(DateTime.t() | nil | atom)) :: String.t()
defp serialize_range(%PgRanges.DateRange{lower: start_range, upper: end_range}),
do: serialize_range([start_range, end_range])
defp serialize_range([start_range, :unbound]), do: serialize_range([start_range, nil])
defp serialize_range([start_range, nil]), do: "#{Date.to_iso8601(start_range)},"
defp serialize_range([start_range, end_range]),