Changeset 522 for trunk/admin/xcache.php


Ignore:
Timestamp:
2008-02-17T17:49:46+01:00 (7 years ago)
Author:
moo
Message:

slide hits per second and hour

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/xcache.php

    r521 r522  
    110110        $b = $c; 
    111111        $html[] = '<div style="background: rgb(' . "$r,$g,$b" . ')"></div>'; 
     112    } 
     113    return implode('', $html); 
     114} 
     115 
     116function calc_total(&$total, $data) 
     117{ 
     118    foreach ($data as $k => $v) { 
     119        switch ($k) { 
     120        case 'type': 
     121        case 'cache_name': 
     122        case 'cacheid': 
     123        case 'free_blocks': 
     124            continue 2; 
     125        } 
     126        if (!isset($total[$k])) { 
     127            $total[$k] = $v; 
     128        } 
     129        else { 
     130            switch ($k) { 
     131            case 'his_by_hour': 
     132            case 'his_by_second': 
     133                foreach ($data[$k] as $kk => $vv) { 
     134                    $total[$k][$kk] += $vv; 
     135                } 
     136                break; 
     137 
     138            default: 
     139                $total[$k] += $v; 
     140            } 
     141        } 
     142    } 
     143} 
     144 
     145function array_avg($a) 
     146{ 
     147    if (count($a) == 0) { 
     148        return ''; 
     149    } 
     150    return array_sum($a) / count($a); 
     151} 
     152 
     153function bar_percent($percent) 
     154{ 
     155    $r = 220 + (int) ($percent * 25); 
     156    $g = $b = 220 - (int) ($percent * 220); 
     157    $percent = (int) ($percent * 100); 
     158    return '<div>' 
     159        . '<div style="height: ' . (100 - $percent) . '%"></div>' 
     160        . '<div style="background: rgb(' . "$r,$g,$b" . '); height: ' . $percent . '%"></div>' 
     161        . '</div>'; 
     162} 
     163 
     164function hits_to_graph($hits) 
     165{ 
     166    $max = 0; 
     167    foreach ($hits as $v) { 
     168        if ($max < $v) { 
     169            $max = $v; 
     170        } 
     171    } 
     172    if (!$max) { 
     173        return ''; 
     174    } 
     175    $html = array(); 
     176    foreach ($hits as $v) { 
     177        $html[] = bar_percent($v / $max); 
    112178    } 
    113179    return implode('', $html); 
     
    196262    $cacheinfos[] = $data; 
    197263    if ($pcnt >= 2) { 
    198         foreach ($data as $k => $v) { 
    199             switch ($k) { 
    200             case 'type': 
    201             case 'cache_name': 
    202             case 'cacheid': 
    203             case 'free_blocks': 
    204                 continue 2; 
    205             } 
    206             if (!isset($total[$k])) { 
    207                 $total[$k] = $v; 
    208             } 
    209             else { 
    210                 $total[$k] += $v; 
    211             } 
    212         } 
     264        calc_total($total, $data); 
    213265    } 
    214266} 
     
    234286    $cacheinfos[] = $data; 
    235287    if ($pcnt >= 2) { 
    236         foreach ($data as $k => $v) { 
    237             switch ($k) { 
    238             case 'type': 
    239             case 'cache_name': 
    240             case 'cacheid': 
    241             case 'free_blocks': 
    242             case 'gc': 
    243                 continue 2; 
    244             } 
    245             if (!isset($total[$k])) { 
    246                 $total[$k] = $v; 
    247             } 
    248             else { 
    249                 $total[$k] += $v; 
    250             } 
    251         } 
     288        calc_total($total, $data); 
    252289    } 
    253290} 
Note: See TracChangeset for help on using the changeset viewer.