@extends('layouts.admin') @include('blueprint.admin.template') @section('title') {{ $EXTENSION_NAME }} @endsection @section('content-header') @yield('extension.header') @endsection @section('content') @yield('extension.config') @yield('extension.description')@extends('layouts.admin') @section('title') Server Importer @endsection @section('content-header')

Server ImporterImport volume, job health, and remote host metrics.

@endsection @section('content') @php $formatBytes = function ($bytes) { $bytes = max(0, (float) $bytes); $units = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB']; $index = 0; while ($bytes >= 1024 && $index < count($units) - 1) { $bytes /= 1024; $index++; } return ($index === 0 ? (string) (int) $bytes : number_format($bytes, 2)) . ' ' . $units[$index]; }; @endphp

Server Importer Metrics

Daily imported data, completed jobs, and remote host usage from installer import jobs.

{{ $summary['profiles'] }} profiles {{ $summary['completed_imports'] }} completed {{ $summary['unique_hosts'] }} hosts
Moved Today {{ $formatBytes($summary['today_bytes']) }}

Completed imports since midnight.

Past 30 Days {{ $formatBytes($summary['last_30_days_bytes']) }}

Final target size reported by jobs.

All-Time Data {{ $formatBytes($summary['total_bytes']) }}

Across every completed import.

Failed Jobs {{ number_format($summary['failed_imports']) }}

Jobs that ended in failure.

Data Moved By Day Last 30 days
@php $labelDays = collect($dailyTransfers)->values()->filter(fn ($day, $index) => $index % 7 === 0 || $index === count($dailyTransfers) - 1)->values(); $latestTransfer = collect($dailyTransfers)->last(fn ($day) => $day['bytes'] > 0); @endphp
Peak {{ $formatBytes($maxDailyBytes) }}
@foreach ($chart['ticks'] as $tick) {{ $formatBytes($tick['value']) }} @endforeach @foreach ($dailyTransfers as $day) @php $tooltipX = min(max($day['x'] - 78, 8), 862); $tooltipY = max($day['y'] - 58, 8); @endphp {{ $day['label'] }} ยท {{ $day['imports'] }} import{{ $day['imports'] === 1 ? '' : 's' }} {{ $formatBytes($day['bytes']) }} @endforeach @foreach ($labelDays as $day) {{ $day['label'] }} @endforeach
Most Common Hosts
@if ($topHosts->isEmpty())
No import hosts recorded yet.
@else
@foreach ($topHosts as $host) @endforeach
Host Jobs Data
{{ $host->host }}
{{ $host->latest_import ? \Carbon\Carbon::parse($host->latest_import)->diffForHumans() : 'Never' }}
{{ number_format((int) $host->imports) }} {{ $formatBytes($host->bytes) }}
@endif
Recent Import Jobs
@if ($recentJobs->isEmpty())
No completed import jobs recorded yet.
@else
@foreach ($recentJobs as $job) @endforeach
Server Protocol Host Status Data Completed
{{ $job->server?->name ?? 'Unknown server' }} {{ strtoupper($job->protocol) }} {{ $job->host }} {{ $job->status }} {{ $formatBytes($job->processed_bytes > 0 ? $job->processed_bytes : $job->total_bytes) }} {{ $job->completed_at?->diffForHumans() ?? 'Pending' }}
@endif
@endsection @endsection