/** @jsxImportSource react */ import { useState } from 'react' import type { FC } from 'react' import { usePerformanceMetrics, useEndpointMetrics, } from '../hooks/useAdminQuery' export const PerformancePage: FC = () => { const { data: metrics, isLoading, isError } = usePerformanceMetrics() const { data: endpoints } = useEndpointMetrics() const [_timeRange, setTimeRange] = useState('1 Hour') if (isLoading) { return
Loading performance data...
} if (isError) { return
Failed to load performance data
} const elevatedErrorRate = (metrics?.errorRate ?? 0) > 1 const slowResponse = (metrics?.avgResponseTime ?? 0) > 500 return (

Performance Analytics

{/* Performance Alerts */} {elevatedErrorRate &&
Elevated Error Rate Alert
} {slowResponse &&
Slow Response Times Detected
} {/* KPI Cards */}
Avg Response Time
{metrics?.avgResponseTime}ms
P50 Response Time
{metrics?.p50ResponseTime}ms
P95 Response Time
{metrics?.p95ResponseTime}ms
P99 Response Time
{metrics?.p99ResponseTime}ms
Requests per Second
{metrics?.requestsPerSecond}
Error Rate
{metrics?.errorRate}%
Uptime
{metrics?.uptime}%
{/* Time Range Selector */}
{/* Performance Trend */}

Performance Trend

Chart placeholder
{/* Endpoint Performance */}

Endpoint Performance

{endpoints?.map((endpoint, idx) => ( ))}
Endpoint Avg Response Time Request Count Error Rate
{endpoint.endpoint} {endpoint.avgResponseTime}ms {endpoint.requestCount.toLocaleString()} {endpoint.errorRate}%
) }