source: trunk/admin/xcache.tpl.php @ 118

Last change on this file since 118 was 118, checked in by moo, 8 years ago

show gc countdown in admin page

File size: 6.8 KB
RevLine 
[34]1<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4    <meta http-equiv="Content-Language" content="en-us" />
5<?php
6echo <<<HEAD
7    <meta http-equiv="Content-Type" content="text/html; charset=$charset" />
8    <script type="text/javascript" src="tablesort.js" charset="$charset"></script>
9HEAD;
10?>
11
12    <link rel="stylesheet" type="text/css" href="xcache.css" />
[107]13    <title>XCache <?php echo $xcache_version; ?> Administration</title>
[34]14</head>
15
16<body>
[107]17<h1>XCache <?php echo $xcache_version; ?> Administration</h1>
[60]18<a href="help.php" target="_blank" id="help">Help &raquo;</a>
[34]19<span class="switcher"><?php echo switcher("type", $types); ?></span>
20<?php
21$a = new Cycle('class="col1"', 'class="col2"');
22$b = new Cycle('class="col1"', 'class="col2"');
23?>
[60]24Caches:
[46]25<table cellspacing="0" cellpadding="4" class="cycles">
[34]26    <col />
27    <col align="right" />
28    <col align="right" />
29    <col align="right" />
30    <col />
31    <col />
32    <col align="right" />
33    <col align="right" />
34    <col align="right" />
35    <col align="right" />
36    <col align="right" />
37    <col align="right" />
38    <col align="right" />
39    <col align="right" />
40    <col />
41    <tr <?php echo $a->next(); ?>>
[46]42        <th>-</th>
[34]43        <th>Slots</th>
44        <th>Size</th>
45        <th>Avail</th>
[108]46        <th>%</th>
[34]47        <th>Clear</th>
48        <th>Compiling</th>
49        <th>Hits</th>
50        <th>Misses</th>
[60]51        <th>Clogs</th>
[34]52        <th>OOMs</th>
53        <th>Protected</th>
54        <th>Cached</th>
55        <th>Deleted</th>
[118]56        <th>GC</th>
[34]57    </tr>
58    <?php
[109]59    $numkeys = explode(',', 'hits,misses,clogs,ooms,cached,deleted');
[34]60    foreach ($cacheinfos as $i => $ci) {
61        echo "
[108]62        <tr ", $a->next(), " height=\"20\">";
63        $pavail = (int) ($ci['avail'] / $ci['size'] * 100);
64        $pused = 100 - $pavail;
65
[34]66        $ci = number_formats($ci, $numkeys);
[109]67        $ci['slots'] = size($ci['slots']);
68        $ci['size']  = size($ci['size']);
69        $ci['avail'] = size($ci['avail']);
[34]70        $ci['compiling']    = $ci['type'] == $type_php ? ($ci['compiling'] ? 'yes' : 'no') : '-';
71        $ci['can_readonly'] = $ci['can_readonly'] ? 'yes' : 'no';
72        echo <<<EOS
73        <th>{$ci['cache_name']}</th>
74        <td>{$ci['slots']}</td>
75        <td>{$ci['size']}</td>
76        <td>{$ci['avail']}</td>
[108]77        <td title="{$pavail} %"><div class="percent"><div style="height: {$pused}%" class="pused">&nbsp;</div><div style="height: {$pavail}%" class="pavail">&nbsp;</div></div></td>
[34]78        <td>
79            <form method="post">
80                <div>
81                    <input type="hidden" name="type" value="{$ci['type']}">
82                    <input type="hidden" name="cacheid" value="{$ci['cacheid']}">
83                    <input type="submit" name="clearcache" value="Clear" class="submit" onclick="return confirm('Sure to clear?');" />
84                </div>
85            </form>
86        </td>
87        <td>{$ci['compiling']}</td>
88        <td>{$ci['hits']}</td>
89        <td>{$ci['misses']}</td>
90        <td>{$ci['clogs']}</td>
91        <td>{$ci['ooms']}</td>
92        <td>{$ci['can_readonly']}</td>
93        <td>{$ci['cached']}</td>
94        <td>{$ci['deleted']}</td>
[118]95        <td>{$ci['gc']}</td>
[34]96EOS;
97
98            $b->reset();
99            ?>
100    </tr>
101    <?php } ?>
102</table>
[60]103Free Blocks:
[34]104<?php
105foreach ($cacheinfos as $i => $ci) {
[47]106    $b->reset();
[34]107?>
[46]108<table cellspacing="0" cellpadding="4" class="cycles freeblocks">
[34]109    <tr>
110        <th><?php echo $ci['cache_name']; ?> size<br>offset</th>
111    <?php
112    foreach ($ci['free_blocks'] as $block) {
[109]113        $size   = size($block['size']);
114        $offset = size($block['offset']);
[34]115
116        $c = $b->next();
117        echo "
118        <td $c><nobr>$size<br>$offset</nobr></td>";
119    }
120    ?>
121
122    </tr>
123</table>
124<?php
125}
126?>
127<div style="clear: both">&nbsp;</div>
128<?php
129
130if ($cachelist) {
131    $isphp = $cachelist['type'] == $type_php;
132    if (function_exists("ob_filter_path_nicer")) {
133        ob_start("ob_filter_path_nicer");
134    }
135    foreach (array('Cached' => $cachelist['cache_list'], 'Deleted' => $cachelist['deleted_list']) as $listname => $entries) {
136        $a->reset();
137        echo "
138        <caption>{$cachelist['type_name']} $listname</caption>";
139        ?>
140
[46]141    <table cellspacing="0" cellpadding="4" class="cycles entrys" width="100%">
[34]142        <col />
143        <col />
144        <col align="right" />
145        <col align="right" />
146        <col align="right" />
147        <col align="right" />
148        <col align="right" />
149        <col align="right" />
150        <?php
151        if ($listname == 'Deleted') {
152            echo '<col align="right" />';
153        }
154        if ($isphp) {
155            echo '<col align="right" />';
156            echo '<col align="right" />';
157            echo '<col align="right" />';
158        }
159
160        echo "
161        <tr ", $a->next(), ">";
162        ?>
163
164            <th><a href="javascript:" onclick="resort(this); return false">Cache</a></th>
165            <th><a href="javascript:" onclick="resort(this); return false">entry</a></th>
166            <th><a href="javascript:" onclick="resort(this); return false">Hits</a></th>
167            <th><a href="javascript:" onclick="resort(this); return false">Ref count</a></th>
168            <th><a href="javascript:" onclick="resort(this); return false">Size</a></th>
169            <?php if ($isphp) { ?>
170            <th><a href="javascript:" onclick="resort(this); return false">SrcSize</a></th>
171            <th><a href="javascript:" onclick="resort(this); return false">Modify</a></th>
[84]172            <?php if ($haveinode) { ?>
[34]173            <th><a href="javascript:" onclick="resort(this); return false">device</a></th>
174            <th><a href="javascript:" onclick="resort(this); return false">inode</a></th>
175            <?php } ?>
[84]176            <?php } ?>
[34]177            <th><a href="javascript:" onclick="resort(this); return false">Access</a></th>
178            <th><a href="javascript:" onclick="resort(this); return false">Create</a></th>
179            <?php if ($listname == 'Deleted') { ?>
180            <th><a href="javascript:" onclick="resort(this); return false">Delete</a></th>
181            <?php } ?>
182        </tr>
183        <?php
184        foreach ($entries as $i => $entry) {
185            echo "
186            <tr ", $a->next(), ">";
187            $name     = htmlspecialchars($entry['name']);
188            $hits     = number_format($entry['hits']);
189            $refcount = number_format($entry['refcount']);
190            $size     = size($entry['size']);
191            if ($isphp) {
192                $sourcesize = size($entry['sourcesize']);
193            }
194
195            if ($isphp) {
196                $mtime = age($entry['mtime']);
197            }
198            $ctime = age($entry['ctime']);
199            $atime = age($entry['atime']);
200            $dtime = age($entry['dtime']);
201
202            echo <<<ENTRY
203            <td>{$entry['cache_name']} {$i}</td>
204            <td>{$name}</td>
205            <td int="{$entry['hits']}">{$entry['hits']}</td>
206            <td int="{$entry['refcount']}">{$entry['refcount']}</td>
207            <td int="{$entry['size']}">{$size}</td>
208ENTRY;
209            if ($isphp) {
210                echo <<<ENTRY
211                <td int="{$entry['sourcesize']}">{$sourcesize}</td>
212                <td int="{$entry['mtime']}">{$mtime}</td>
213ENTRY;
[84]214                if (isset($entry['inode'])) {
215                    echo <<<ENTRY
216                    <td int="{$entry['device']}">{$entry['device']}</td>
217                    <td int="{$entry['inode']}">{$entry['inode']}</td>
218ENTRY;
219                }
[34]220            }
221            echo <<<ENTRY
222            <td int="{$entry['atime']}">{$atime}</td>
223            <td int="{$entry['ctime']}">{$ctime}</td>
224ENTRY;
225            if ($listname == 'Deleted') {
226            echo <<<ENTRY
227                <td int="{$entry['dtime']}">{$dtime}</td>
228ENTRY;
229            }
230
231            echo "
232        </tr>
233            ";
234        }
235        ?>
236
237    </table>
238<?php
239    }
240    if (function_exists("ob_filter_path_nicer")) {
241        ob_end_flush();
242    }
243}
244?>
[107]245<div class="footnote">
246<?php echo <<<EOS
247Powered By: {$xcache_version}, {$xcache_modules}
248EOS;
249?>
250</div>
251
[34]252</body>
253</html>
Note: See TracBrowser for help on using the repository browser.