1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-27 17:00:52 +01:00

?/debug/apc

This commit is contained in:
Michael Foster 2013-09-23 10:11:16 +10:00
parent ff4352d914
commit 39be89ba49
4 changed files with 39 additions and 0 deletions

View File

@ -1340,6 +1340,8 @@
$config['mod']['news_delete'] = ADMIN; $config['mod']['news_delete'] = ADMIN;
// Execute un-filtered SQL queries on the database (?/debug/sql) // Execute un-filtered SQL queries on the database (?/debug/sql)
$config['mod']['debug_sql'] = DISABLED; $config['mod']['debug_sql'] = DISABLED;
// Look through all cache values for debugging when APC is enabled (?/debug/apc)
$config['mod']['debug_apc'] = ADMIN;
// Edit the current configuration (via web interface) // Edit the current configuration (via web interface)
$config['mod']['edit_config'] = ADMIN; $config['mod']['edit_config'] = ADMIN;
// View ban appeals // View ban appeals

View File

@ -2354,3 +2354,16 @@ function mod_debug_sql() {
mod_page(_('Debug: SQL'), 'mod/debug/sql.html', $args); mod_page(_('Debug: SQL'), 'mod/debug/sql.html', $args);
} }
function mod_debug_apc() {
global $config;
if (!hasPermission($config['mod']['debug_apc']))
error($config['error']['noaccess']);
if ($config['cache']['enabled'] != 'apc')
error('APC is not enabled.');
$cached_vars = new APCIterator('user', '/^' . $config['cache']['prefix'] . '/');
mod_page(_('Debug: APC'), 'mod/debug/apc.html', array('cached_vars' => $cached_vars));
}

View File

@ -89,6 +89,7 @@ $pages = array(
// these pages aren't listed in the dashboard without $config['debug'] // these pages aren't listed in the dashboard without $config['debug']
'/debug/antispam' => 'debug_antispam', '/debug/antispam' => 'debug_antispam',
'/debug/recent' => 'debug_recent_posts', '/debug/recent' => 'debug_recent_posts',
'/debug/apc' => 'debug_apc',
'/debug/sql' => 'secure_POST debug_sql', '/debug/sql' => 'secure_POST debug_sql',
// This should always be at the end: // This should always be at the end:

View File

@ -0,0 +1,23 @@
<table class="modlog">
<tr>
<th class="minimal">Key</th>
<th class="minimal">Hits</th>
<th class="minimal">Created</th>
<th class="minimal">Expires</th>
<th class="minimal">Size</th>
<th>Value</th>
</tr>
{% for var in cached_vars %}
<tr>
<td class="minimal">{{ var.key }}</td>
<td class="minimal">{{ var.num_hits }}</td>
<td class="minimal">{{ var.creation_time|ago }} ago</td>
<td class="minimal">{{ (var.creation_time + var.ttl)|until }} (ttl: {{ var.ttl }}s)</td>
<td class="minimal">{{ var.mem_size }} bytes</td>
<td style="word-wrap:break-word">
{% set value = var.value|json_encode %}
<code>{{ value[:80]|e('html') }}{% if value|length > 80 %}&hellip;{% endif %}</code>
</td>
</tr>
{% endfor %}
</table>