From d3c0823332738dd3d7da6e87193b8f0a39998ed9 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Fri, 17 Jul 2026 16:52:50 -0400 Subject: [PATCH 1/4] feat(LiveDashboard): enable Telemetry --- lib/dotcom/telemetry.ex | 2 +- lib/dotcom_web/router.ex | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dotcom/telemetry.ex b/lib/dotcom/telemetry.ex index 6111bd5991..5d63aed5b3 100644 --- a/lib/dotcom/telemetry.ex +++ b/lib/dotcom/telemetry.ex @@ -37,7 +37,7 @@ defmodule Dotcom.Telemetry do Supervisor.init(children, strategy: :one_for_one) end - defp metrics do + def metrics do [ Metrics.last_value("vm.memory.total", unit: :byte), Metrics.last_value("vm.total_run_queue_lengths.total"), diff --git a/lib/dotcom_web/router.ex b/lib/dotcom_web/router.ex index 7bb8395b34..0fc54cfc3f 100644 --- a/lib/dotcom_web/router.ex +++ b/lib/dotcom_web/router.ex @@ -334,7 +334,8 @@ defmodule DotcomWeb.Router do csp_nonce_assign_key: :csp_nonce, additional_pages: [ flame_on: FlameOn.DashboardPage - ] + ], + metrics: Dotcom.Telemetry ) end end From ce0f4404769fc30864dd185c3f69cec42f88d982 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Fri, 17 Jul 2026 16:54:37 -0400 Subject: [PATCH 2/4] feat(Dotcom.Telemetry): more memory metrics --- lib/dotcom/telemetry.ex | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/dotcom/telemetry.ex b/lib/dotcom/telemetry.ex index 5d63aed5b3..9d4b8504a2 100644 --- a/lib/dotcom/telemetry.ex +++ b/lib/dotcom/telemetry.ex @@ -39,7 +39,12 @@ defmodule Dotcom.Telemetry do def metrics do [ - Metrics.last_value("vm.memory.total", unit: :byte), + Metrics.last_value("vm.memory.total", unit: {:byte, :kilobyte}), + Metrics.last_value("vm.memory.processes", unit: {:byte, :kilobyte}), + Metrics.last_value("vm.memory.atom", unit: {:byte, :kilobyte}), + Metrics.last_value("vm.memory.binary", unit: {:byte, :kilobyte}), + Metrics.last_value("vm.memory.code", unit: {:byte, :kilobyte}), + Metrics.last_value("vm.memory.ets", unit: {:byte, :kilobyte}), Metrics.last_value("vm.total_run_queue_lengths.total"), Metrics.last_value("vm.total_run_queue_lengths.cpu"), Metrics.last_value("vm.system_counts.process_count") From 657bf5d59bb820f0db9b3a779640693fd0329d98 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Fri, 17 Jul 2026 16:55:14 -0400 Subject: [PATCH 3/4] feat(Dotcom.Telemetry): Phoenix controller metric --- lib/dotcom/telemetry.ex | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/dotcom/telemetry.ex b/lib/dotcom/telemetry.ex index 9d4b8504a2..6ca97a476c 100644 --- a/lib/dotcom/telemetry.ex +++ b/lib/dotcom/telemetry.ex @@ -47,7 +47,21 @@ defmodule Dotcom.Telemetry do Metrics.last_value("vm.memory.ets", unit: {:byte, :kilobyte}), Metrics.last_value("vm.total_run_queue_lengths.total"), Metrics.last_value("vm.total_run_queue_lengths.cpu"), - Metrics.last_value("vm.system_counts.process_count") + Metrics.last_value("vm.system_counts.process_count"), + Metrics.summary("phoenix.router_dispatch.stop.duration", + tags: [:controller_action], + tag_values: &tag_controller_action/1, + unit: {:native, :millisecond} + ) ] end + + # Extracts controller#action from route dispatch + defp tag_controller_action(%{plug: plug, plug_opts: plug_opts}) when is_atom(plug_opts) do + %{controller_action: "#{inspect(plug)}##{plug_opts}"} + end + + defp tag_controller_action(%{plug: plug}) do + %{controller_action: inspect(plug)} + end end From cfb6af6f6b87a9fdd52c71ad29bee420bb66be54 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Fri, 17 Jul 2026 17:09:58 -0400 Subject: [PATCH 4/4] Revert "feat(Dotcom.Telemetry): Phoenix controller metric" This reverts commit 657bf5d59bb820f0db9b3a779640693fd0329d98. --- lib/dotcom/telemetry.ex | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/lib/dotcom/telemetry.ex b/lib/dotcom/telemetry.ex index 6ca97a476c..9d4b8504a2 100644 --- a/lib/dotcom/telemetry.ex +++ b/lib/dotcom/telemetry.ex @@ -47,21 +47,7 @@ defmodule Dotcom.Telemetry do Metrics.last_value("vm.memory.ets", unit: {:byte, :kilobyte}), Metrics.last_value("vm.total_run_queue_lengths.total"), Metrics.last_value("vm.total_run_queue_lengths.cpu"), - Metrics.last_value("vm.system_counts.process_count"), - Metrics.summary("phoenix.router_dispatch.stop.duration", - tags: [:controller_action], - tag_values: &tag_controller_action/1, - unit: {:native, :millisecond} - ) + Metrics.last_value("vm.system_counts.process_count") ] end - - # Extracts controller#action from route dispatch - defp tag_controller_action(%{plug: plug, plug_opts: plug_opts}) when is_atom(plug_opts) do - %{controller_action: "#{inspect(plug)}##{plug_opts}"} - end - - defp tag_controller_action(%{plug: plug}) do - %{controller_action: inspect(plug)} - end end