Mount metrics in application

Avoids pulling entire TelemetryMetricsPrometheus dependency.
This commit is contained in:
Claudio Ortolina
2025-03-04 17:55:07 +00:00
parent 8964c7a94a
commit 7c6fe3c0d2
6 changed files with 13 additions and 9 deletions
@@ -0,0 +1,7 @@
defmodule MusicLibraryWeb.MetricsController do
use MusicLibraryWeb, :controller
def index(conn, _params) do
send_resp(conn, 200, TelemetryMetricsPrometheus.Core.scrape())
end
end
+4
View File
@@ -69,6 +69,10 @@ defmodule MusicLibraryWeb.Router do
use ErrorTracker.Web, :router
import Phoenix.LiveDashboard.Router
scope "/metrics", MusicLibraryWeb do
get "/", MetricsController, :index
end
scope "/dev" do
pipe_through [:browser, :logged_in]
+1 -1
View File
@@ -10,7 +10,7 @@ defmodule MusicLibraryWeb.Telemetry do
def init(_arg) do
children = [
{MusicLibraryWeb.Telemetry.Storage, metrics()},
{TelemetryMetricsPrometheus, [metrics: prometheus_metrics()]},
{TelemetryMetricsPrometheus.Core, [metrics: prometheus_metrics()]},
# Telemetry poller will execute the given period measurements
# every 10_000ms. Learn more here: https://hexdocs.pm/telemetry_metrics
{:telemetry_poller, measurements: periodic_measurements(), period: 10_000}