From 14bb8b0e3ae8be540ceef16e3237f3541d47dc68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Wala?= Date: Tue, 9 Jul 2024 13:48:21 +0200 Subject: [PATCH 1/6] Add per second stats, minor improvements --- lib/ex_webrtc_dashboard.ex | 318 ++++++++++++++++++++++++++++++------- 1 file changed, 264 insertions(+), 54 deletions(-) diff --git a/lib/ex_webrtc_dashboard.ex b/lib/ex_webrtc_dashboard.ex index c681c10..4c3d2d1 100644 --- a/lib/ex_webrtc_dashboard.ex +++ b/lib/ex_webrtc_dashboard.ex @@ -13,7 +13,7 @@ defmodule ExWebRTCDashboard do @impl true def menu_link(_session, _caps) do - {:ok, "Elixir WebRTC"} + {:ok, "WebRTC"} end @impl true @@ -69,7 +69,7 @@ defmodule ExWebRTCDashboard do def render(assigns) do ~H""" <%= if @pc_pids == %{} do %> - Waiting for peer connections to be spawned... + Waiting for PeerConnections to be spawned... <% else %> <.live_nav_bar id="navbar" page={@page}> <:item :for={{pc_str, {_pc, pc_stats}} <- @pc_pids} name={pc_str} method="redirect"> @@ -108,10 +108,11 @@ defmodule ExWebRTCDashboard do true -> pc = socket.assigns.current_pc pc_str = socket.assigns.current_pc_str + {^pc, old_stats} = Map.fetch!(socket.assigns.pc_pids, pc_str) case fetch_stats(pc) do {:ok, stats} -> - update_plots(stats) + update_plots(stats, old_stats) pc_pids = put_in(socket.assigns.pc_pids, [pc_str], {pc, stats}) socket = assign(socket, pc_pids: pc_pids) {:noreply, socket} @@ -153,7 +154,7 @@ defmodule ExWebRTCDashboard do