Performance - v1.0.0

Livewire components

Every component is registered by the service provider under the perf- alias prefix. Livewire is a suggested dependency — the components register only when Livewire is present.

perf-performance-dashboardPerformanceDashboard

Top-level dashboard surface. Composes a date-range picker, a tab strip, and the per-tab summary data sourced from the aggregated performance_metrics table and the cache statistics helpers. Read-only; mutating cache actions live on perf-cache-manager.

<livewire:perf-performance-dashboard />

perf-metrics-chartMetricsChart

Renders a daily time series of one or more Web Vitals as a line chart. Reads from the aggregated performance_metrics table (p75 column) and emits a <canvas> plus a data island the client-side Chart.js bootstrap consumes.

<livewire:perf-metrics-chart metric="LCP" days="30" />

Include @perfMetricsChartAssets in the layout when mounting outside the dashboard.

perf-cache-managerCacheManager

Exposes the page and fragment cache controls — invalidate by key, invalidate by tag, flush both stores, and trigger cache warming — as a single dashboard surface. Destructive actions go through an inline confirmation step.

<livewire:perf-cache-manager />

perf-query-analyzerQueryAnalyzer

Admin surface for reviewing slow queries captured by SlowQueryLogger into performance_slow_queries. Groups rows by their normalized signature so repeat offenders collapse to a single row; ranks by either total time or occurrence count.

<livewire:perf-query-analyzer />

perf-recommendations-panelRecommendationsPanel

Renders the ranked recommendation list produced by RecommendationEngine. Supports dismissing individual recommendations (session-scoped by default) and exposes a small set of one-click action handlers where the fix is deterministic (e.g. applying an index migration recommendation, which fires the IndexMigrationRequested event).

<livewire:perf-recommendations-panel />

Authorization

The service provider does not register a gate for these components. Wrap the routes that expose them behind whichever authorization surface your application already uses (a policy, a gate, Sanctum, auth.admin middleware, etc.).