Experimental Prometheus metrics
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user