@extends('layouts.app-sidebar') @section('content')

AI Race Insights

Groq vs OpenAI vs Anthropic performance comparison

@if(session('success'))

{{ session('success') }}

@endif

Last 10 Minutes

Live
{{ $stats10m['total_races'] }} races
Groq
{{ $stats10m['groq_wins'] ?? 0 }} ({{ $stats10m['groq_win_rate'] ?? 0 }}%)
OpenAI
{{ $stats10m['openai_wins'] }} ({{ $stats10m['openai_win_rate'] }}%)
Anthropic
{{ $stats10m['anthropic_wins'] }} ({{ $stats10m['anthropic_win_rate'] }}%)

Last Hour

1h
{{ $stats1h['total_races'] }} races
Groq
{{ $stats1h['groq_wins'] ?? 0 }} ({{ $stats1h['groq_win_rate'] ?? 0 }}%)
OpenAI
{{ $stats1h['openai_wins'] }} ({{ $stats1h['openai_win_rate'] }}%)
Anthropic
{{ $stats1h['anthropic_wins'] }} ({{ $stats1h['anthropic_win_rate'] }}%)

Last 24 Hours

24h
{{ $stats24h['total_races'] }} races
Groq
{{ $stats24h['groq_wins'] ?? 0 }} ({{ $stats24h['groq_win_rate'] ?? 0 }}%)
OpenAI
{{ $stats24h['openai_wins'] }} ({{ $stats24h['openai_win_rate'] }}%)
Anthropic
{{ $stats24h['anthropic_wins'] }} ({{ $stats24h['anthropic_win_rate'] }}%)

Global Comparison (24h)

Groq

Llama 3.3 70B

Wins

{{ $stats24h['groq_wins'] ?? 0 }}

Win Rate

{{ $stats24h['groq_win_rate'] ?? 0 }}%

Avg Latency

{{ $stats24h['groq_avg_latency'] ?? '-' }}ms

Errors

{{ $stats24h['groq_errors'] ?? 0 }}

OpenAI

GPT-4o-mini

Wins

{{ $stats24h['openai_wins'] }}

Win Rate

{{ $stats24h['openai_win_rate'] }}%

Avg Latency

{{ $stats24h['openai_avg_latency'] ?? '-' }}ms

Errors

{{ $stats24h['openai_errors'] }}

Anthropic

Claude 3.5 Haiku

Wins

{{ $stats24h['anthropic_wins'] }}

Win Rate

{{ $stats24h['anthropic_win_rate'] }}%

Avg Latency

{{ $stats24h['anthropic_avg_latency'] ?? '-' }}ms

Errors

{{ $stats24h['anthropic_errors'] }}

@if($stats24h['total_races'] > 0)

Overall Win Distribution

Groq {{ $stats24h['groq_win_rate'] ?? 0 }}% OpenAI {{ $stats24h['openai_win_rate'] }}% Anthropic {{ $stats24h['anthropic_win_rate'] }}%
@endif
@if(isset($anthropicMetrics))

Anthropic Speed Booster

Optimized

Avg Latency (24h)

{{ $anthropicMetrics['avg_latency_24h_ms'] ?? '-' }}ms

Avg Latency (1h)

{{ $anthropicMetrics['avg_latency_1h_ms'] ?? '-' }}ms

Errors (24h)

{{ $anthropicMetrics['error_count_24h'] ?? 0 }}

Win Rate (24h)

{{ $anthropicMetrics['win_rate_24h'] ?? 0 }}%

@if($anthropicMetrics['avg_latency_24h_ms'] && $anthropicMetrics['openai_avg_latency_24h_ms'])

Latency Comparison (24h avg)

OpenAI {{ $anthropicMetrics['openai_avg_latency_24h_ms'] }}ms
@php $maxLatency = max($anthropicMetrics['openai_avg_latency_24h_ms'], $anthropicMetrics['avg_latency_24h_ms']); $openaiWidth = ($anthropicMetrics['openai_avg_latency_24h_ms'] / $maxLatency) * 100; @endphp
Anthropic {{ $anthropicMetrics['avg_latency_24h_ms'] }}ms
@php $anthropicWidth = ($anthropicMetrics['avg_latency_24h_ms'] / $maxLatency) * 100; @endphp
@endif
@endif @if(isset($cacheStats))

Response Cache

Micro-cache

Cached Entries

{{ $cacheStats['entries'] }} / {{ $cacheStats['max_entries'] }}

TTL

{{ round($cacheStats['ttl_seconds'] / 60) }} min

Oldest Entry

{{ $cacheStats['oldest_age_seconds'] }} sec

Newest Entry

{{ $cacheStats['newest_age_seconds'] }} sec

@endif @if(count($hourlyData) > 0)

Hourly Distribution (24h)

@endif

Per-Tenant Statistics (24h)

{{ count($tenantStats) }} tenants
@forelse($tenantStats as $stat) @empty @endforelse
Channel Races OpenAI Anthropic

{{ $stat['channel_title'] }}

{{ $stat['total_races'] }}
{{ $stat['openai_wins'] }} ({{ $stat['openai_win_rate'] }}%)
{{ $stat['anthropic_wins'] }} ({{ $stat['anthropic_win_rate'] }}%)

No race data available yet

Recent Races

Last 20
@forelse($recentRaces as $race) @empty @endforelse
Time Channel Winner
{{ $race->created_at->diffForHumans() }}

{{ $race->tenant?->channel_title ?? 'Unknown' }}

@if($race->provider_winner === 'groq') Groq @elseif($race->provider_winner === 'openai') OpenAI @elseif($race->provider_winner === 'anthropic') Anthropic @else None @endif

No races recorded yet

Data Management

Purge old race statistics to free up database space.

This action cannot be undone.

@csrf
@if(count($hourlyData) > 0) @push('scripts') @endpush @endif @endsection