1048576) {
return sprintf("%.2f MB", $bytes/1048576);
} elseif ($bytes > 1024) {
return sprintf("%.2f kB", $bytes/1024);
} else {
return sprintf("%d bytes", $bytes);
}
}
function getOffsetWhereStringsAreEqual($a, $b)
{
$i = 0;
while (strlen($a) && strlen($b) && strlen($a) > $i && $a{$i} === $b{$i}) {
$i++;
}
return $i;
}
function getSuggestionMessage($property, $value)
{
switch ($property) {
case 'opcache_enabled':
return $value ? '' : ' You should enabled opcache';
break;
case 'cache_full':
return $value ? ' You should increase opcache.memory_consumption' : '';
break;
case 'opcache.validate_timestamps':
return $value ? ' If you are in a production environment you should disabled it' : '';
break;
}
return '';
}
function getStringFromPropertyAndValue($property, $value)
{
if ($value === false) {
return 'false';
}
if ($value === true) {
return 'true';
}
switch ($property) {
case 'used_memory':
case 'free_memory':
case 'wasted_memory':
case 'opcache.memory_consumption':
return size_for_humans($value);
break;
case 'current_wasted_percentage':
case 'opcache_hit_rate':
return number_format($value, 2).'%';
break;
case 'blacklist_miss_ratio':
return number_format($value, 2);
break;
}
return $value;
}
?>
OPcache Dashboard - Carlos Buenosvinos (@buenosvinos)
OPcache Dashboard
PHP: = phpversion() ?> and OPcache: = $config['version']['version'] ?>
Hits: = $hitRate ?>%
Memory: = size_for_humans($wastedMemory + $usedMemory) ?> of = size_for_humans($totalMemory) ?>
Wasted memory
Used memory
Free memory
Keys: = $usedKeys ?> of = $totalKeys ?>
Status
$value) {
if ($key == 'scripts') {
continue;
}
if (is_array($value)) {
foreach ($value as $k => $v) {
$v = getStringFromPropertyAndValue($k, $v);
$m = getSuggestionMessage($k, $v);
?>| = $k ?> | = $v ?> | = $m ?> |
|---|
| = $key ?> | = $value ?> | = $mess ?> |
Configuration
$value) {
$mess = getSuggestionMessage($key, $value);
?>
| = $key ?> |
= getStringFromPropertyAndValue($key, $value) ?> |
= $mess ?> |
Scripts (= count($status["scripts"]) ?>) Reset all
| Options |
Hits |
Memory |
Path |
$data) {
$offset = min(
getOffsetWhereStringsAreEqual(
(null === $previousKey) ? $key : $previousKey,
$key
),
(null === $offset) ? strlen($key) : $offset
);
$previousKey = $key;
}
foreach ($status['scripts'] as $key => $data) {
?>
| Invalidate |
= $data['hits'] ?> |
= size_for_humans($data['memory_consumption']) ?> |
= substr($data['full_path'], $offset - 1) ?> |