@extends('layouts.app') @section('title', 'Tổng Quan API Health') @section('page_title', 'Tổng Quan API Health') @push('styles') @endpush @section('content') @php $methodBadgeClass = [ 'GET' => 'badge-success', 'POST' => 'badge-primary', 'PUT' => 'badge-warning', 'PATCH' => 'badge-warning', 'DELETE' => 'badge-danger', ]; @endphp {{-- Bộ lọc ngày --}}

Bộ lọc

{{-- Info bar --}}
Dữ liệu ngày {{ $date->format('d/m/Y') }}
Tỉ lệ thành công ≥ 99 xanh • 90 – 98.9 vàng • < 90 đỏ
Avg < 300ms xanh • 300 – 999 vàng • ≥ 1000 đỏ
@if (empty($domains))
Chưa có API nào để hiển thị.
Thêm API
@else @foreach ($domains as $domainItem) @php $domain = $domainItem['domain']; $apis = $domainItem['apis']; $collapseId = 'domain-'.$domain->id; @endphp

{{ $domain->name }} {{ count($apis) }} API

@foreach ($apis as $item) @php $api = $item['api']; $server = $item['server']; $stats = $item['stats']; $totalChecks = $stats->total_checks ?? 0; $successChecks = $stats->success_checks ?? 0; $successRate = $totalChecks > 0 ? round($successChecks / $totalChecks * 100, 1) : null; $avgMs = $stats->avg_response_time_ms ?? null; $minMs = $stats->min_response_time_ms ?? null; $maxMs = $stats->max_response_time_ms ?? null; $rateColor = 'bg-empty'; if ($successRate !== null) { $rateColor = $successRate >= 99 ? 'bg-success' : ($successRate >= 90 ? 'bg-warning' : 'bg-danger'); } $avgColor = 'bg-empty'; if ($avgMs !== null) { $avgColor = $avgMs < 300 ? 'bg-success' : ($avgMs < 1000 ? 'bg-warning' : 'bg-danger'); } @endphp @endforeach
IP API Tổng check Tỉ lệ thành công Avg (ms) Min / Max (ms) Thao tác
{{ $server->ip_address }}
{{ $api->method }} {{ $api->url }} @if (! $api->status) Đã tắt @endif
{{ $totalChecks > 0 ? $totalChecks : '—' }} {{ $successRate !== null ? $successRate.'%' : '—' }} {{ $avgMs !== null ? round($avgMs).' ms' : '—' }} {{ $minMs !== null ? round($minMs).' / '.round($maxMs).' ms' : '—' }} @if ($totalChecks > 0) Chi tiết @else @endif
@endforeach @endif @endsection @push('scripts') @endpush