More enhancements

Main: Put "Power" in title only when nvme devices are present
Dashboard: add resource size to tooltip
This commit is contained in:
bergware
2023-12-04 22:52:09 +01:00
parent 8118d0bda6
commit 6a581d3e72
6 changed files with 31 additions and 11 deletions
+4 -1
View File
@@ -14,6 +14,9 @@ Tag="database"
* all copies or substantial portions of the Software.
*/
?>
<?
$power = in_array('nvme',array_column(main_filter($disks),'transport')) ? ' / '._('Power') : '';
?>
<script>
String.prototype.no_tilde = function(){return this.replace('<?=$_tilde_?>','<?=$_proxy_?>');}
String.prototype.master = function(){return this.split('<?=$_tilde_?>')[0];}
@@ -68,7 +71,7 @@ $('#tab1').bind({click:function() {$('i.toggle').show('slow');}});
</script>
<table class="disk_status wide">
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_ / _(Power)_</td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_<?=$power?></td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<tbody id="array_devices">
<?
foreach ($disks as $disk):
+1 -1
View File
@@ -21,7 +21,7 @@ $('#tab3').bind({click:function() {$('i.toggle').show('slow');}});
</script>
<table class="disk_status wide">
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_ / _(Power)_</td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_</td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<tbody id="boot_device">
<?if (isset($disks['flash'])) echo "<tr><td colspan='11'>&nbsp;</td></tr>";?>
</tbody>
+5 -2
View File
@@ -136,8 +136,11 @@ $('#tab2').bind({click:function() {$('i.toggle').show('slow');}});
<?foreach ($pools as $pool):?>
<?if (isset($disks[$pool]['devices']) or _var($var,'fsState')=="Stopped"):?>
<table class="disk_status wide<?=$i?' divider':''?>">
<?if (!isSubpool($pool)):?>
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_ / _(Power)_</td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<?if (!isSubpool($pool)):
$cache = array_filter(cache_filter($disks),function($disk) use ($pool){return prefix($disk['name'])==$pool;});
$power = in_array('nvme',array_column($cache,'transport')) ? ' / '._('Power') : '';
?>
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_<?=$power?></td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<?endif;?>
<tbody id="pool_device<?=$i++?>">
<?foreach (cache_filter($disks) as $disk) if (prefix($disk['name'])==$pool) echo "<tr><td colspan='11'>&nbsp;</td></tr>"?>
+12 -5
View File
@@ -157,6 +157,13 @@ if ($memory_installed >= 1024) {
$unit = 'GiB';
} else $unit = 'MiB';
// get system resources size
exec("df --output=size /boot /var/log /var/lib/docker 2>/dev/null|awk '(NR>1){print $1*1024}'",$df);
$flashsize = my_scale($df[0],$unit,0,-1,1024)." $unit";
$logsize = my_scale($df[1],$unit,0,-1,1024)." $unit";
$dockersize = my_scale($df[2],$unit,0,-1,1024)." $unit";
$ramsize = my_scale($total,$unit,0,-1,1024)." $unit";
// If maximum < installed then roundup maximum to the next power of 2 size of installed. E.g. 6 -> 8 or 12 -> 16
$low = $memory_maximum < $memory_installed;
if ($low) $memory_maximum = pow(2,ceil(log($memory_installed)/log(2)));
@@ -265,7 +272,7 @@ foreach ($cpus as $pair) {
</td></tr>
<tr><td>
<span class='w26'><div class='more'>
<i class='ups fa fa-compress'></i>_(Usable size)_: <?=my_scale($total,$unit,1,null,1024)." $unit"?><br>
<i class='ups fa fa-compress'></i>_(Usable size)_: <?=$ramsize?><br>
<i class='ups fa fa-expand'></i>_(Maximum size)_: <?="$memory_maximum $unit"?><?=$low?'*':''?><br><br>
<i class='ups fa fa-circle used'></i>_(Services)_: <span id='used'></span><br>
<?if($zfs):?>
@@ -273,10 +280,10 @@ foreach ($cpus as $pair) {
<?endif;?>
<i class='ups fa fa-circle free'></i>_(Free)_: <span id='free'></span><br>
</div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(RAM)_<br>_(usage)_<span>_(Percentage of total used memory)_</span></a></span><div class='pie' id='sys0'><span class='sys0'></span><span class='var0'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Flash)_<br>_(device)_<span>_(Percentage usage of flash usb device)_</span></a></span><div class='pie' id='sys1'><span class='sys1'></span><span class='var1'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Log)_<br>_(filesystem)_<span>_(Percentage usage of LOG file system)_</span></a></span><div class='pie' id='sys2'><span class='sys2'></span><span class='var2'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Docker)_<br>_(vDisk)_<span>_(Percentage usage of Docker image)_</span></a></span><div class='pie' id='sys3'><span class='sys3'></span><span class='var3'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(RAM)_<br>_(usage)_<span>_(Percent of total used memory)_ (<?=$ramsize?>)</span></a></span><div class='pie' id='sys0'><span class='sys0'></span><span class='var0'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Flash)_<br>_(device)_<span>_(Percent usage of flash usb device)_ (<?=$flashsize?>)</span></a></span><div class='pie' id='sys1'><span class='sys1'></span><span class='var1'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Log)_<br>_(filesystem)_<span>_(Percent usage of LOG file system)_ (<?=$logsize?>)</span></a></span><div class='pie' id='sys2'><span class='sys2'></span><span class='var2'></span></div></span>
<span class='w18 center'><span class='center'><a class='info hand none'>_(Docker)_<br>_(vDisk)_<span>_(Percent usage of Docker image)_ (<?=$dockersize?>)</span></a></span><div class='pie' id='sys3'><span class='sys3'></span><span class='var3'></span></div></span>
</td></tr>
</tbody>
+3 -2
View File
@@ -16,7 +16,8 @@ Cond="(count($devs)>0)"
*/
?>
<?
$tabX = '#tab'.($var['fsState']=='Stopped'||$pool_devices ? '4' : '3');
$power = in_array('nvme',array_column($devs,'transport')) ? ' / '._('Power') : '';
$tabX = '#tab'.($var['fsState']=='Stopped'||$pool_devices ? '4' : '3');
?>
<script>
<?if ($var['fsState']=='Started'):?>
@@ -25,7 +26,7 @@ $('<?=$tabX?>').bind({click:function() {$('i.toggle').show('slow');}});
</script>
<table class="disk_status wide">
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_ / _(Power)_</td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<thead><tr><td>_(Device)_</td><td>_(Identification)_</td><td>_(Temp)_<?=$power?></td><td>_(Reads)_</td><td>_(Writes)_</td><td>_(Errors)_</td><td>_(FS)_</td><td>_(Size)_</td><td>_(Used)_</td><td>_(Free)_</td></tr></thead>
<tbody id="open_devices">
<?
foreach ($devs as $dev):
@@ -63,6 +63,9 @@ function my_disks($disk) {
function my_hyperlink($text, $link) {
return str_replace(['[',']'],["<a href=\"$link\">","</a>"],$text);
}
function main_only($disk) {
return _var($disk,'type')=='Parity' || _var($disk,'type')=='Data';
}
function parity_only($disk) {
return _var($disk,'type')=='Parity';
}
@@ -72,6 +75,9 @@ function data_only($disk) {
function cache_only($disk) {
return _var($disk,'type')=='Cache';
}
function main_filter($disks) {
return array_filter($disks,'main_only');
}
function parity_filter($disks) {
return array_filter($disks,'parity_only');
}