defmodule ElixirDashboardWeb.PerformanceLive.Queries do @moduledoc """ Demo app wrapper - delegates to the library LiveView. """ use ElixirDashboardWeb, :live_view alias ElixirDashboard.PerformanceMonitor.Store @impl true def mount(_params, _session, socket) do if connected?(socket) do # Refresh data every 5 seconds :timer.send_interval(5000, self(), :refresh) end queries = Store.get_slow_queries() {:ok, assign(socket, :queries, queries)} end @impl true def handle_info(:refresh, socket) do queries = Store.get_slow_queries() {:noreply, assign(socket, :queries, queries)} end @impl true def handle_event("clear", _params, socket) do Store.clear_all() {:noreply, assign(socket, :queries, [])} end @impl true def render(assigns) do ~H"""
Showing the 100 slowest queries recorded since the server started (threshold: 50ms).
No slow queries recorded yet. Start making database requests to see data.
Endpoint: <%= query.endpoint_path %>
SQL Query:
<%= query.query %>
Parameters:
<%= inspect(query.params, pretty: true) %>