ui: show last cleanup freed amounts on transcode Ramdisk/NVMe tags
Parses the last 'Ramdisk freed' and 'SSD freed' values from the transcode management log and displays them as small ↓XMB annotations inside each tag. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
3b645b2108
commit
55e817d234
@@ -715,6 +715,21 @@ function vv_transcode_sessions(): array {
|
||||
// Ramdisk disk usage
|
||||
$rd = vv_df('/mnt/ramdisk_transcodes');
|
||||
|
||||
// Last cleanup values from transcode management log
|
||||
$lastRdFreed = null;
|
||||
$lastSsdFreed = null;
|
||||
$logFile = '/var/log/varaverk/Orchestrators/transcode_management.log';
|
||||
if (file_exists($logFile)) {
|
||||
$lines = file($logFile, FILE_IGNORE_NEW_LINES) ?: [];
|
||||
foreach (array_reverse($lines) as $line) {
|
||||
if ($lastRdFreed === null && preg_match('/Ramdisk freed:\s*(\S+)/u', $line, $m))
|
||||
$lastRdFreed = $m[1];
|
||||
if ($lastSsdFreed === null && preg_match('/SSD freed:\s*(\S+)/u', $line, $m))
|
||||
$lastSsdFreed = $m[1];
|
||||
if ($lastRdFreed !== null && $lastSsdFreed !== null) break;
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'available' => true,
|
||||
'current_target' => $target,
|
||||
@@ -726,5 +741,7 @@ function vv_transcode_sessions(): array {
|
||||
'ssd_sessions' => $ssdSessions,
|
||||
'ramdisk' => $rd,
|
||||
'ssd' => $ssd,
|
||||
'last_rd_freed' => $lastRdFreed,
|
||||
'last_ssd_freed' => $lastSsdFreed,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1342,14 +1342,18 @@ function vvPollMonitor() {
|
||||
</div>`;
|
||||
}
|
||||
|
||||
const nvmeColor = ssd.available ? '#4caf50' : '#f44336';
|
||||
const nvmeColor = ssd.available ? '#4caf50' : '#f44336';
|
||||
const rdFreed = tc.last_rd_freed ?? null;
|
||||
const ssdFreed = tc.last_ssd_freed ?? null;
|
||||
const rdCleanTip = rdFreed ? `<span style="font-size:9px;color:#555;margin-left:4px;">↓${rdFreed}</span>` : '';
|
||||
const ssdCleanTip = ssdFreed ? `<span style="font-size:9px;color:#555;margin-left:4px;">↓${ssdFreed}</span>` : '';
|
||||
document.getElementById('vv-transcode-body').innerHTML =
|
||||
`<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;">
|
||||
<div style="display:flex;gap:6px;align-items:center;">
|
||||
<span style="background:${locColor}22;border:1px solid ${locColor};color:${locColor};
|
||||
padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;">● ${loc}</span>
|
||||
<span style="background:${nvmeColor}22;border:1px solid ${nvmeColor};color:${nvmeColor};
|
||||
padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;">● NVMe</span>
|
||||
<div style="display:flex;gap:6px;align-items:center;flex-wrap:wrap;">
|
||||
<span style="display:inline-flex;align-items:center;background:${locColor}22;border:1px solid ${locColor};color:${locColor};
|
||||
padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;">● ${loc}${rdCleanTip}</span>
|
||||
<span style="display:inline-flex;align-items:center;background:${nvmeColor}22;border:1px solid ${nvmeColor};color:${nvmeColor};
|
||||
padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;">● NVMe${ssdCleanTip}</span>
|
||||
</div>
|
||||
<span style="font-size:10px;color:#555;">Flips: ${tc.flip_count_hour ?? 0}/hr · ${flipStr}</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user