feat(scheduler+ntp): Memory-Alerts + NTP-Status freq/rms — v1.1.107
- Scheduler: runMemoryCheck() liest /proc/meminfo, feuert Warning bei ≥85% und Critical bei ≥95% RAM-Auslastung (5-Min-Intervall, 1h dedupe pro Severity-Key) - NTP-Status-Karte: freq_ppm (±ppm mit Warnung bei >100) und rms_offset_ms werden jetzt angezeigt — Felder waren im Backend schon vorhanden, aber nie gerendert - Alerts scopeDesc: mem.high-Trigger in beiden i18n-Dateien dokumentiert Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -161,6 +161,29 @@ export default function NTPPage() {
|
||||
/>
|
||||
</Tooltip>
|
||||
</Col>
|
||||
{ntpStatus.freq_ppm != null && (
|
||||
<Col xs={12} sm={6}>
|
||||
<Tooltip title={t('ntp.statusCard.freqPpmHint')}>
|
||||
<Statistic
|
||||
title={t('ntp.statusCard.freqPpm')}
|
||||
value={(ntpStatus.freq_ppm >= 0 ? '+' : '') + ntpStatus.freq_ppm.toFixed(3) + ' ppm'}
|
||||
valueStyle={{
|
||||
fontSize: 13,
|
||||
color: Math.abs(ntpStatus.freq_ppm) > 100 ? '#d48806' : undefined,
|
||||
}}
|
||||
/>
|
||||
</Tooltip>
|
||||
</Col>
|
||||
)}
|
||||
{ntpStatus.rms_offset_ms != null && ntpStatus.rms_offset_ms > 0 && (
|
||||
<Col xs={12} sm={6}>
|
||||
<Statistic
|
||||
title={t('ntp.statusCard.rmsOffset')}
|
||||
value={ntpStatus.rms_offset_ms.toFixed(3) + ' ms'}
|
||||
valueStyle={{ fontSize: 13 }}
|
||||
/>
|
||||
</Col>
|
||||
)}
|
||||
</Row>
|
||||
) : (
|
||||
<Typography.Text type="secondary">{t('ntp.statusCard.loading')}</Typography.Text>
|
||||
|
||||
Reference in New Issue
Block a user