From c4bbd7a0f6989e9c201f3b4ff322668c2cdf584e Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Wed, 11 Mar 2026 11:33:11 +0000 Subject: [PATCH] Add counter for errored requests --- lib/music_library_web/telemetry.ex | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/music_library_web/telemetry.ex b/lib/music_library_web/telemetry.ex index 6eb2368e..d6af96ba 100644 --- a/lib/music_library_web/telemetry.ex +++ b/lib/music_library_web/telemetry.ex @@ -129,6 +129,11 @@ defmodule MusicLibraryWeb.Telemetry do tag_values: &phoenix_status_tag/1, reporter_options: [nav: "HTTP"] ), + counter("plug.router_dispatch.exception.duration", + tags: [:status], + tag_values: &router_exception_status_tag/1, + reporter_options: [nav: "HTTP"] + ), # LiveView Metrics summary("phoenix.live_view.mount.stop.duration", @@ -220,6 +225,12 @@ defmodule MusicLibraryWeb.Telemetry do defp phoenix_status_tag(%{conn: %{status: status}}), do: %{status: to_string(status)} defp phoenix_status_tag(_metadata), do: %{status: "unknown"} + defp router_exception_status_tag(%{kind: :error, reason: reason}) do + %{status: reason |> Plug.Exception.status() |> to_string()} + end + + defp router_exception_status_tag(_metadata), do: %{status: "500"} + defp live_view_tag(%{socket: %{view: view}}) do module = view |> inspect() |> String.split(".") |> Enum.take(-2) |> Enum.join(".") %{view: module}