本文整理汇总了PHP中Varien_Profiler::fetch方法的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Profiler::fetch方法的具体用法?PHP Varien_Profiler::fetch怎么用?PHP Varien_Profiler::fetch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Varien_Profiler
的用法示例。
在下文中一共展示了Varien_Profiler::fetch方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _toHtml
protected function _toHtml()
{
if (!$this->_beforeToHtml() || !Mage::getStoreConfig('dev/debug/profiler') || !Mage::helper('core')->isDevAllowed()) {
return '';
}
$timers = Varien_Profiler::getTimers();
#$out = '<div style="position:fixed;bottom:5px;right:5px;opacity:.1;background:white" onmouseover="this.style.opacity=1" onmouseout="this.style.opacity=.1">';
#$out = '<div style="opacity:.1" onmouseover="this.style.opacity=1" onmouseout="this.style.opacity=.1">';
$out = "<a href=\"javascript:void(0)\" onclick=\"\$('profiler_section').style.display=\$('profiler_section').style.display==''?'none':''\">[profiler]</a>";
$out .= '<div id="profiler_section" style="background:white; display:block">';
$out .= '<pre>Memory usage: real: ' . memory_get_usage(true) . ', emalloc: ' . memory_get_usage() . '</pre>';
$out .= '<table border="1" cellspacing="0" cellpadding="2" style="width:auto">';
$out .= '<tr><th>Code Profiler</th><th>Time</th><th>Cnt</th><th>Emalloc</th><th>RealMem</th></tr>';
foreach ($timers as $name => $timer) {
$sum = Varien_Profiler::fetch($name, 'sum');
$count = Varien_Profiler::fetch($name, 'count');
$realmem = Varien_Profiler::fetch($name, 'realmem');
$emalloc = Varien_Profiler::fetch($name, 'emalloc');
if ($sum < 0.001 && $count < 10 && $emalloc < 10000) {
continue;
}
$out .= '<tr>' . '<td align="left">' . $name . '</td>' . '<td>' . number_format($sum, 4) . '</td>' . '<td align="right">' . $count . '</td>' . '<td align="right">' . number_format($emalloc) . '</td>' . '<td align="right">' . number_format($realmem) . '</td>' . '</tr>';
}
$out .= '</table>';
$out .= '<pre>';
$out .= print_r(Varien_Profiler::getSqlProfiler(Mage::getSingleton('core/resource')->getConnection('core_write')), 1);
$out .= '</pre>';
$out .= '</div>';
return $out;
}
示例2: getTimers
public function getTimers()
{
$timers = Varien_Profiler::getTimers();
foreach ($timers as $key => $value) {
$timers[$key]['sum'] = Varien_Profiler::fetch($key, 'sum');
}
uasort($timers, array('self', 'compareTimers'));
return $timers;
}
示例3: logProfiler
public function logProfiler($filename)
{
$timers = Varien_Profiler::getTimers();
Mage::log('--------------------------------------------------', Zend_Log::DEBUG, $filename);
Mage::log("Code Profiler\tTime\tCnt\tEmalloc\tRealMem", Zend_Log::DEBUG, $filename);
foreach ($timers as $name => $timer) {
$sum = Varien_Profiler::fetch($name, 'sum');
$count = Varien_Profiler::fetch($name, 'count');
$realmem = Varien_Profiler::fetch($name, 'realmem');
$emalloc = Varien_Profiler::fetch($name, 'emalloc');
if ($sum < 0.001 && $count < 10 && $emalloc < 10000) {
continue;
}
Mage::log(sprintf("%s\t%s\t%s\t%s\t%s", $name, number_format($sum, 4), $count, number_format($emalloc), number_format($realmem)), Zend_Log::DEBUG, $filename);
}
}
示例4: _flushProfileData
/**
* Displays the Varien_Profiler data to the screen. If it is not enabled, it will
* indicate that it is disabled.
*
* @author Ben Robie <brobie@gmail.com>
**/
function _flushProfileData()
{
$timers = Varien_Profiler::getTimers();
foreach ($timers as $name => $timer) {
$sum = Varien_Profiler::fetch($name, 'sum');
$count = Varien_Profiler::fetch($name, 'count');
$realmem = Varien_Profiler::fetch($name, 'realmem');
$emalloc = Varien_Profiler::fetch($name, 'emalloc');
if ($sum < 0.001 && $count < 10 && $emalloc < 10000) {
continue;
}
$output[] = array('Code Profiler' => $name, 'Time' => $sum, 'Cnt' => (string) $count, 'Emalloc' => (string) number_format($emalloc), 'RealMem' => (string) number_format($realmem));
}
echo Wiz::tableOutput($output);
}
示例5: getLabel
public function getLabel()
{
return number_format(Varien_Profiler::fetch('mage', 'sum'), 2) . ' s';
}
示例6: logprofiler
public function logprofiler($action)
{
$suiteLogPath = Mage::getBaseDir('var') . DS . 'log' . DS . 'SagePaySuite';
$profilerPath = $suiteLogPath . DS . 'PROFILER';
if (!is_dir($suiteLogPath)) {
mkdir($suiteLogPath, 0755);
}
if (!is_dir($profilerPath)) {
mkdir($profilerPath, 0755);
}
$timers = Varien_Profiler::getTimers();
$request = $action->getRequest();
$prefix = $request->getParam('vtxcode', $request->getParam('VPSTxId', null));
$prefix = $prefix ? $prefix . '_' : '';
$longest = 0;
$rows = array();
foreach ($timers as $name => $timer) {
$sum = Varien_Profiler::fetch($name, 'sum');
$count = Varien_Profiler::fetch($name, 'count');
$realmem = Varien_Profiler::fetch($name, 'realmem');
$emalloc = Varien_Profiler::fetch($name, 'emalloc');
if ($sum < 0.001 && $count < 10 && $emalloc < 10000) {
continue;
}
$rows[] = array((string) $name, (string) number_format($sum, 4), (string) $count, (string) number_format($emalloc), (string) number_format($realmem));
$thislong = strlen($name);
if ($thislong > $longest) {
$longest = $thislong;
}
}
//Create table
$table = new Zend_Text_Table(array('columnWidths' => array($longest, 10, 6, 12, 12), 'decorator' => 'ascii'));
//Memory
$preheader = new Zend_Text_Table_Row();
$real = memory_get_usage(true);
$emalloc = memory_get_usage();
$preheader->appendColumn(new Zend_Text_Table_Column('real Memory usage: ' . $real . ' ' . ceil($real / 1048576) . 'MB', 'center', 1));
$preheader->appendColumn(new Zend_Text_Table_Column('emalloc Memory usage: ' . $emalloc . ' ' . ceil($emalloc / 1048576) . 'MB', 'center', 4));
$table->appendRow($preheader);
//Append Header
$header = new Zend_Text_Table_Row();
$header->appendColumn(new Zend_Text_Table_Column('Code Profiler', 'center'));
$header->appendColumn(new Zend_Text_Table_Column('Time', 'center'));
$header->appendColumn(new Zend_Text_Table_Column('Cnt', 'center'));
$header->appendColumn(new Zend_Text_Table_Column('Emalloc', 'center'));
$header->appendColumn(new Zend_Text_Table_Column('RealMem', 'center'));
$table->appendRow($header);
foreach ($rows as $row) {
$table->appendRow($row);
}
//SQL profile
$dbprofile = print_r(Varien_Profiler::getSqlProfiler(Mage::getSingleton('core/resource')->getConnection('core_write')), TRUE);
$dbprofile = substr($dbprofile, 0, -4);
$dbprofile = str_replace('<br>', "\n", $dbprofile);
$preheaderlabel = new Zend_Text_Table_Row();
$preheaderlabel->appendColumn(new Zend_Text_Table_Column('DATABASE', 'center', 5));
$table->appendRow($preheaderlabel);
$preheader = new Zend_Text_Table_Row();
$preheader->appendColumn(new Zend_Text_Table_Column($dbprofile, 'left', 5));
$table->appendRow($preheader);
//Request
$rqlabel = new Zend_Text_Table_Row();
$rqlabel->appendColumn(new Zend_Text_Table_Column('REQUEST', 'center', 5));
$table->appendRow($rqlabel);
$inforqp = new Zend_Text_Table_Row();
$inforqp->appendColumn(new Zend_Text_Table_Column($this->_filterRequest($request), 'left', 5));
$table->appendRow($inforqp);
$date = Mage::getModel('core/date')->date('Y-m-d\\.H-i-s');
$file = new SplFileObject($profilerPath . DS . $prefix . $date . '_' . $action->getFullActionName() . '.txt', 'w');
$file->fwrite($table);
}
示例7: fetch
/**
*
* @param string $timerName
* @param string $key key from the timer entry. default is 'sum' which will return an integer
* @return mixed depending on $key
*/
public function fetch($timerName, $key = 'sum')
{
return Varien_Profiler::fetch($timerName, $key);
}
示例8: startConsole
/**
* The main loop
*
* @return void
*
**/
public function startConsole()
{
require_once 'ShallowParser.php';
$parser = new Boris_ShallowParser();
$buf = '';
$prompt = '>> ';
// Oh so infinite
for (;;) {
// Read the line from the CLI. If we haven't yet terminated the current statement,
// add an asterisk to the prompt as a little visual hint
$line = readline($buf == '' ? $prompt : str_pad('?> ', strlen($prompt), ' ', STR_PAD_LEFT));
// Add to the history
if ($line == 'clear') {
$this->clear();
continue;
}
readline_add_history($line);
if ($line === false) {
break;
}
$buf .= $line;
if ($this->profiling) {
Varien_Profiler::reset('test');
Varien_Profiler::start('test');
}
if ($this->database) {
$res = Mage::getSingleton('core/resource')->getConnection('core_read');
$profiler = $res->getProfiler();
$profiler->setEnabled(true);
$profiler->clear();
}
// This is some clever stuff from Boris. It parses the current command
// and finds out what the heck is going on in there and if it's finished
// yet.
if ($statements = $parser->statements($buf)) {
$buf = '';
$fromglobalfunction = false;
// Then try each statement
foreach ($statements as $stmt) {
try {
// The exciting bit
$result = eval($stmt);
if ($result !== 'fromglobalfunction') {
$this->output($result);
} else {
$fromglobalfunction = true;
}
} catch (Exception $e) {
$this->out("! " . $e->getMessage(), 'red');
continue;
}
}
if ($this->profiling) {
Varien_Profiler::stop('test');
}
if ($this->database) {
if ($profiler->getEnabled()) {
$totalTime = $profiler->getTotalElapsedSecs();
$queryCount = $profiler->getTotalNumQueries();
$longestTime = 0;
$longestQuery = null;
if ($queryCount) {
foreach ($profiler->getQueryProfiles() as $query) {
if ($query->getElapsedSecs() > $longestTime) {
$longestTime = $query->getElapsedSecs();
$this->out($query->getQuery(), "yellow", null, false);
$this->outTime($query->getElapsedSecs());
}
}
}
}
}
if ($this->profiling && !$fromglobalfunction) {
$this->outTime(Varien_Profiler::fetch('test'), "Duration: ");
}
}
}
}