Recording Status
{{ Object.keys(liveStatus.symbols || {}).length }}
Active Symbols
Data Freshness
{{ dataFreshnessText }}
Since last message
Storage Usage
{{ formatGB(status.disk?.total_size_gb) }}
Raw: {{ formatGB(status.disk?.raw_size_gb) }} | Processed: {{ formatGB(status.disk?.processed_size_gb) }}
Completeness
{{ avgCompleteness }}%
Hour shards complete
{{ symbol }}
Depth: {{ formatCount(info.today_depth_count) }}
Trade: {{ formatCount(info.today_trade_count) }}
{{ String(h-1).padStart(2, '0') }}
{{ dayDetail.date_utc }}
Complete
{{ 24 - (dayDetail.day_quality?.missing_hours?.length || 0) }}/24 hours
{{ String(shard.hour).padStart(2, '0') }}
| Hour | Status | Size | Book | Trade | Seq Gap | Out-of-Order | Spread |
|---|---|---|---|---|---|---|---|
| {{ String(shard.hour).padStart(2, '0') }}:00 | {{ shard.exists ? 'OK' : 'Missing' }} | {{ shard.exists ? shard.size_mb + ' MB' : '-' }} | {{ shard.counts?.book?.toLocaleString() || '-' }} | {{ shard.counts?.trade?.toLocaleString() || '-' }} | {{ shard.quality?.seq_gap_count ?? '-' }} | {{ shard.quality?.out_of_order_ratio != null ? (shard.quality.out_of_order_ratio * 100).toFixed(3) + '%' : '-' }} | {{ shard.quick_stats?.avg_spread_ticks ?? '-' }} |
Symbols
Storage Path
{{ configData.storage_path || '-' }}
Retention Days
{{ configData.retention_days ?? '-' }} days
Convert Schedule
{{ configData.convert_schedule || '-' }}
({{ formatCronSchedule(configData.convert_schedule) }})
Reconnect Initial Delay
{{ configData.reconnect?.initial_delay ?? '-' }}s
Reconnect Max Delay
{{ configData.reconnect?.max_delay ?? '-' }}s
Reconnect Backoff
{{ configData.reconnect?.backoff_factor ?? '-' }}x
Version
{{ configData.version || '-' }}
Started At
{{ configData.started_at ? new Date(configData.started_at).toLocaleString() : '-' }}