Облагораживаем статистику производительности ( для 0.4.2)

На днях адаптировал одному человеку плагины под шаблон, заодно он попросил сделать «что-нибудь» со статистикой производительности (та что в подвале, которая видна только админу)и сделать по возможности что бы она как то пряталась.
Вспомнил про скрипт из этого топика, который отлично работал у меня на версии 0.3.* за что спасибо автору, и использовал его для 0.4.2, подправив только запись куков, что бы запоминалось состояние.
Для тех у кого установлена админка aceadminpanel, нужно открыть plugins/aceadminpanel/templates/skin/default/statistics_performance.tpl и заменить его содержимое этим:
{if $bIsShowStatsPerformance and $oUserCurrent and $oUserCurrent->isAdministrator()}
<div id="stats_bg">
<a id="stats_toggle" href="#">Perfomance<span id="stats_status"></span></a>
<div id="stats_content">
<dl>
<dt>MySql</dt>
<dd>query: <strong>{$aStatsPerformance.sql.count}</strong></dd>
<dd>time: <strong>{$aStatsPerformance.sql.time}</strong></dd>
</dl>
<dl>
<dt>Cache</dt>
<dd>query: <strong>{$aStatsPerformance.cache.count}</strong></dd>
<dd>— set: <strong>{$aStatsPerformance.cache.count_set}</strong></dd>
<dd>— get: <strong>{$aStatsPerformance.cache.count_get}</strong></dd>
<dd>time: <strong>{$aStatsPerformance.cache.time}</strong></dd>
</dl>
<dl>
<dt>Memory</dt>
<dd>memory limit: <strong>{$aMemoryStats.memory_limit}</strong></dd>
<dd>usage: <strong>{$aMemoryStats.usage}</strong></dd>
<dd>peak usage: <strong>{$aMemoryStats.peak_usage}</strong></dd>
</dl>
<dl>
<dt>PHP</dt>
<dd>time load modules: <strong>{$aStatsPerformance.engine.time_load_module}</strong></dd>
<dd>full time: <strong>{$iTimeFullPerformance}</strong></dd>
</dl>
</div>
</div>
{/if}
{literal}
<script language="JavaScript" type="text/javascript">
window.addEvent('domready', function() {
var start = Cookie.read('stats_start') || '0px';
var status = {'true': ' ↓','false': ' ↑'};
var statSlider = new Fx.Slide('stats_content');
if (start != '0px') {
statSlider.open = false;
}
$('stats_content').setStyle('margin-top', start);
$('stats_status').set('html', status[statSlider.open]);
$('stats_toggle').addEvent('click', function(e) {
e.stop();
statSlider.toggle();
});
statSlider.addEvent('complete', function() {
$('stats_status').set('html', status[statSlider.open]);
new Fx.Scroll(window).toBottom();
start = $('stats_content').getStyle('margin-top');
Cookie.write('stats_start', start, {
domain: null,
path: '/',
duration: 30
});
});
});
</script>
{/literal}
если aceadminpanel не используется то редактируем /текущий_скин/statistics_performance.tpl
Далее в style.css текущего скина дбавляем:
/*stat*/
#stats_content { color: #6699FF; border-top: 1px dashed #CCCCCC;overflow: hidden; padding-top: 20px; clear: both; padding: 20px 40px;}
#stats_content dl {float:left; font-size:11px; width:14%;}
#stats_content dl dt {font-size: 14px; font-weight: bold; margin-bottom: 0.5em;}
#stats_content dl dd {line-height:14px; margin-bottom:0.5em;color: #677E90;}
#stats_bg { padding:0 0 20px 0;}
#stats_bg #stats_toggle { font-size:14px; color:#999; text-decoration:none; margin-left: 40px;}
#stats_bg #stats_status { font-size:12px; }
#stats_bg #stats_content { height:90px; padding-top:15px; }
Статистику можно свернуть\развернуть, при этом положение запоминается.
10 комментариев
а это код из engine.class.php. я не вижу что бы было что-то про память