Mount metrics in application
Avoids pulling entire TelemetryMetricsPrometheus dependency.
This commit is contained in:
@@ -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
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user