diff --git a/modules/memcacheMonitor/www/memcachestat.php b/modules/memcacheMonitor/www/memcachestat.php index 2b4c0fb7e7176ad247eb48e9a5c1918321be64a5..6cd5d9e6a782a667b0c00217a103ca0867104a74 100644 --- a/modules/memcacheMonitor/www/memcachestat.php +++ b/modules/memcacheMonitor/www/memcachestat.php @@ -1,5 +1,76 @@ <?php +function tdate($input) { + return date(DATE_RFC822, $input); +} + +function hours($input) { + if ($input < 60) return number_format($input, 2) . ' sec'; + if ($input < 60*60) return number_format(($input/60),2) . ' min'; + if ($input < 24*60*60) return number_format(($input/(60*60)),2) . ' hours'; + return number_format($input/(24*60*60),2) . ' days'; + +} + + +function humanreadable($input) { + + $output = ""; + $input = abs($input); + + if ($input >= (1024*1024*1024*1024*1024*1024*1024*100)) { + $output = sprintf("%5ldEi", $input / (1024*1024*1024*1024*1024*1024) ); + } else if ($input >= (1024*1024*1024*1024*1024*1024*10)) { + $output = sprintf("%5.1fEi", $input / (1024.0*1024.0*1024.0*1024.0*1024.0*1024.0) ); + } else if ($input >= (1024*1024*1024*1024*1024*1024)) { + $output = sprintf("%5.2fEi", $input / (1024.0*1024.0*1024.0*1024.0*1024.0*1024.0) ); + + + } else if ($input >= (1024*1024*1024*1024*1024*100)) { + $output = sprintf("%5ldPi", $input / (1024*1024*1024*1024*1024) ); + } else if ($input >= (1024*1024*1024*1024*1024*10)) { + $output = sprintf("%5.1fPi", $input / (1024.0*1024.0*1024.0*1024.0*1024.0) ); + } else if ($input >= (1024*1024*1024*1024*1024)) { + $output = sprintf("%5.2fPi", $input / (1024.0*1024.0*1024.0*1024.0*1024.0) ); + + } else if ($input >= (1024*1024*1024*1024*100)) { + $output = sprintf("%5ldTi", $input / (1024*1024*1024*1024) ); + } else if ($input >= (1024*1024*1024*1024*10)) { + $output = sprintf("%5.1fTi", $input / (1024.0*1024.0*1024.0*1024.0) ); + } else if ($input >= (1024*1024*1024*1024)) { + $output = sprintf("%5.2fTi", $input / (1024.0*1024.0*1024.0*1024.0) ); + + + } else if ($input >= (1024*1024*1024*100)) { + $output = sprintf("%5ldGi", $input / (1024*1024*1024) ); + } else if ($input >= (1024*1024*1024*10)) { + $output = sprintf("%5.1fGi", $input / (1024.0*1024.0*1024.0) ); + } else if ($input >= (1024*1024*1024)) { + $output = sprintf("%5.2fGi", $input / (1024.0*1024.0*1024.0) ); + + } else if ($input >= (1024*1024*100)) { + $output = sprintf("%5ldMi", $input / (1024*1024) ); + } else if ($input >= (1024*1024*10)) { + $output = sprintf("%5.1fM", $input / (1024.0*1024.0) ); + } else if ($input >= (1024*1024)) { + $output = sprintf("%5.2fMi", $input / (1024.0*1024.0) ); + + } else if ($input >= (1024 * 100)) { + $output = sprintf("%5ldKi", $input / (1024) ); + } else if ($input >= (1024 * 10)) { + $output = sprintf("%5.1fKi", $input / 1024.0 ); + } else if ($input >= (1024)) { + $output = sprintf("%5.2fKi", $input / 1024.0 ); + + } else { + $output = sprintf("%5ld", $input ); + } + + return $output; +} + + + try { @@ -14,11 +85,33 @@ try { } - $stats = SimpleSAML_Memcache::getStats(); + $formats = array( + 'bytes' => 'humanreadable', + 'bytes_read' => 'humanreadable', + 'bytes_written' => 'humanreadable', + 'limit_maxbytes' => 'humanreadable', + 'time' => 'tdate', + 'uptime' => 'hours', + ); + + $statsraw = SimpleSAML_Memcache::getStats(); + + $stats = $statsraw; + + foreach($stats AS $key => &$entry) { + if (array_key_exists($key, $formats)) { + $func = $formats[$key]; + foreach($entry AS $k => $val) { + $entry[$k] = $func($val); + } + } + + } - $template = new SimpleSAML_XHTML_Template($config, 'status-table.php'); + $template = new SimpleSAML_XHTML_Template($config, 'memcacheMonitor:memcachestat.tpl.php'); $template->data['title'] = 'Memcache stats'; $template->data['table'] = $stats; + $template->data['statsraw'] = $statsraw; $template->show(); } catch(Exception $e) {