Experimental Prometheus metrics

This commit is contained in:
Claudio Ortolina
2025-03-04 14:31:55 +00:00
parent 468799931d
commit 1d23bd17a4
4 changed files with 23 additions and 0 deletions
+11
View File
@@ -10,6 +10,7 @@ defmodule MusicLibraryWeb.Telemetry do
def init(_arg) do
children = [
{MusicLibraryWeb.Telemetry.Storage, metrics()},
{TelemetryMetricsPrometheus, [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}
@@ -103,6 +104,16 @@ defmodule MusicLibraryWeb.Telemetry do
]
end
def prometheus_metrics do
[
# VM Metrics
last_value("vm.memory.total", unit: {:byte, :megabyte}),
last_value("vm.total_run_queue_lengths.total"),
last_value("vm.total_run_queue_lengths.cpu"),
last_value("vm.total_run_queue_lengths.io")
]
end
defp periodic_measurements do
[
# A module, function and arguments to be invoked periodically.