• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP xdebug_get_profiler_filename函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中xdebug_get_profiler_filename函数的典型用法代码示例。如果您正苦于以下问题:PHP xdebug_get_profiler_filename函数的具体用法?PHP xdebug_get_profiler_filename怎么用?PHP xdebug_get_profiler_filename使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了xdebug_get_profiler_filename函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: getFiles

 /**
  * List of files in $dir whose filename has the format $format
  *
  * @return array Files
  */
 private static function getFiles($format, $dir, $preprocessed = false)
 {
     $list = preg_grep($format, scandir($dir));
     $files = array();
     // If current script under profiler, get it's output file name for exclusion
     if (function_exists('xdebug_get_profiler_filename') && ($profiler_filename = xdebug_get_profiler_filename()) !== false) {
         $selfFile = realpath($profiler_filename);
     }
     foreach ($list as $file) {
         $absoluteFilename = realpath($dir . '/' . $file);
         // Make sure that script never parses the profile currently being generated. (infinite loop)
         if (!empty($selfFile) && $selfFile === $absoluteFilename) {
             continue;
         }
         if (!$preprocessed) {
             // Exclude preprocessed files
             if (endsWith($absoluteFilename, Webgrind::$config->preprocessedSuffix)) {
                 continue;
             }
             // If set in config, exclude Webgrind files profiles
             $invokeUrl = self::getInvokeUrl($absoluteFilename);
             if (Webgrind::$config->hideWebgrindProfiles && startsWith($invokeUrl, WEBGRIND_ROOT)) {
                 continue;
             }
         }
         $files[$file] = array('absoluteFilename' => $absoluteFilename, 'mtime' => filemtime($absoluteFilename), 'preprocessed' => $preprocessed, 'filesize' => self::bytestostring(filesize($absoluteFilename)));
         if (!$preprocessed) {
             $files[$file]['invokeUrl'] = $invokeUrl;
         }
     }
     return $files;
 }
开发者ID:tmaiaroto,项目名称:li3_perf,代码行数:37,代码来源:FileHandler.php


示例2: __construct

 /**
  * Constructor.
  */
 public function __construct()
 {
     $this->_xlog['time'] = microtime(true);
     $this->_xlog['memory'] = memory_get_usage();
     $this->_xlog['maxmem'] = $this->_xlog['memory'];
     $this->_xlog['minmem'] = $this->_xlog['memory'];
     $this->_xdebug_on = !empty(xdebug_get_profiler_filename());
 }
开发者ID:RolandKujundzic,项目名称:rkphplib,代码行数:11,代码来源:Profiler.class.php


示例3: html

 public function html()
 {
     $h = '<div class="kanon-profiler">';
     if (function_exists('xdebug_get_profiler_filename')) {
         $h .= '<div>XDebug: ' . xdebug_get_profiler_filename() . '</div>';
     }
     $h .= '<div>Total queries: ' . count($this->_sql) . '</div>';
     $totalSqlTime = 0;
     foreach ($this->_sql as $sqlInfo) {
         $totalSqlTime += $sqlInfo['time'];
     }
     $h .= '<div>Total runtime: ' . number_format(microtime(true) - self::$_enableTime, 6, '.', '') . '</div>';
     $h .= '<div>Total time: ' . number_format($totalSqlTime, 6, '.', '') . '</div>';
     $h .= '<table width="100%" class="sql">';
     foreach ($this->_sql as $sqlInfo) {
         $h .= '<tr><td>';
         $h .= '<strong style="font-weight: normal;color: #ddd;">' . htmlspecialchars($sqlInfo['sql']) . '</strong>';
         $h .= '<div>';
         if ($sqlInfo['time'] > 0.01) {
             $h .= '<span style="color: #f00">';
         }
         $h .= 'Time: ' . number_format($sqlInfo['time'], 6, '.', '');
         if ($sqlInfo['time'] > 0.01) {
             $h .= '</span>';
         }
         $h .= ' Start: ' . number_format($sqlInfo['start'] - self::$_enableTime, 6, '.', '');
         if ($traceInfo = $this->_getTraceController($sqlInfo['trace'])) {
             $h .= ' ' . $traceInfo['class'] . $traceInfo['type'] . $traceInfo['function'] . '() at line ' . $traceInfo['line'];
         }
         $i = 0;
         $skip = array('profiler', 'mysqlDriver', 'storageDriver', 'modelStorage', 'modelExpression', 'modelQueryBuilder', 'modelResultSet');
         foreach ($sqlInfo['trace'] as $traceInfo) {
             if (in_array($traceInfo['class'], $skip)) {
                 array_shift($sqlInfo['trace']);
             } else {
                 break;
             }
         }
         foreach ($sqlInfo['trace'] as $traceInfo) {
             $i++;
             $h .= '<div style="line-height: 1em;font-size:10px;">';
             $h .= '#' . $i . ' ' . $traceInfo['class'] . $traceInfo['type'] . $traceInfo['function'] . '() at line ' . $traceInfo['line'];
             $h .= '</div>';
         }
         $h .= '</div>';
         $h .= '</td></tr>';
     }
     $h .= '</table>';
     $h .= yProfiler::html();
     return $h . '</div>';
 }
开发者ID:alexqwert,项目名称:kanon,代码行数:51,代码来源:profiler.php


示例4: __destruct

 /**
  * destructor, outputs Total Render time if DEBUG>0
  */
 function __destruct()
 {
     if (DEBUG > 0) {
         kataDebugOutput('Total Render Time (including Models) ' . (microtime(true) - $this->starttime) . ' secs');
         kataDebugOutput('Memory used ' . number_format(memory_get_usage(true)) . ' bytes');
         kataDebugOutput('Parameters ' . print_R($this->params, true));
         if (function_exists('xdebug_get_profiler_filename')) {
             $fn = xdebug_get_profiler_filename();
             if (false !== $fn) {
                 kataDebugOutput('profilefile:' . $fn);
             }
         }
         kataDebugOutput('Loaded classes: ' . implode(' ', array_keys(classRegistry::getLoadedClasses())));
     }
 }
开发者ID:emente,项目名称:kataii---kata-framework-2.x,代码行数:18,代码来源:katadispatcher.php


示例5: view

 public static function view($removefieldset = false)
 {
     if (!self::$_started) {
         return;
     }
     self::$timeEnd = self::getmicrotime();
     $time = sprintf('%.5f', self::$timeEnd - self::$timeStart);
     $files = sprintf('%.5f', self::$filesTime);
     $rapportSQL = sprintf('%.2f', 100 * self::$totalTime / $time);
     $rapportPHP = 100 - $rapportSQL;
     $memoryPeak = round(memory_get_peak_usage() / 1048576, 3);
     $content = 'File ' . $_SERVER['SCRIPT_NAME'] . "\n" . 'Loaded in ' . $time . ' seconds' . "\n" . 'Loaded PHP files : ' . self::$filesLoaded . "\n" . 'SQL requests : ' . sprintf('%.5f', self::$totalTime) . ' seconds (' . self::$sqlNbRequests . ' requests)' . "\n" . '% SQL/PHP : ' . $rapportSQL . ' / ' . $rapportPHP . ' %' . "\n" . 'Memory Peak : ' . $memoryPeak . 'Mo' . "\n";
     if (function_exists('xdebug_get_profiler_filename') && xdebug_get_profiler_filename()) {
         $content .= 'XDebug Profile : ' . xdebug_get_profiler_filename() . "\n";
     }
     if (function_exists('xdebug_get_profiler_filename') && xdebug_get_tracefile_name()) {
         $content .= 'XDebug Trace : ' . xdebug_get_tracefile_name() . "\n";
     }
     $content .= 'User : ' . (CMS_session::getUserId() ? CMS_session::getUser()->getFullName() . ' (' . CMS_session::getUserId() . ')' : 'none') . "\n";
     $content .= 'Session Id ' . Zend_Session::getId() . "\n";
     //$content .= 'Current page '.CMS_session::getPageID()."\n";
     if (VIEW_SQL && $_SERVER["SCRIPT_NAME"] != PATH_ADMIN_WR . '/stat.php') {
         $stat = array('stat_time_start' => self::$timeStart, 'stat_time_end' => self::$timeEnd, 'stat_total_time' => self::$totalTime, 'stat_sql_nb_requests' => self::$sqlNbRequests, 'stat_sql_table' => self::$sqlTable, 'stat_content_name' => basename($_SERVER["SCRIPT_NAME"]), 'stat_files_table' => self::$filesTable, 'stat_memory_table' => self::$memoryTable, 'stat_memory_peak' => $memoryPeak, 'stat_files_loaded' => self::$filesLoaded);
         $statName = 'stat_' . md5(rand());
         //save stats to cache (for 10 min)
         $cache = new CMS_cache($statName, 'atm-stats', 600, false);
         if ($cache) {
             $cache->save($stat);
         }
     }
     $content = !$removefieldset ? '<fieldset style="width:200px;" class="atm-debug"><legend>Debug Statistics</legend><pre>' . $content . '</pre>' : 'Debug Statistics :' . "\n" . $content;
     if (isset($statName)) {
         $content .= '<a href="' . PATH_ADMIN_WR . '/stat.php?stat=' . $statName . '" target="_blank">View statistics detail</a>';
     }
     //end xhprof profiling
     if (defined('APPLICATION_ENABLE_PROFILING') && APPLICATION_ENABLE_PROFILING && function_exists('xhprof_disable')) {
         $xhprof_data = xhprof_disable();
         include_once APPLICATION_XHPROF_ROOT_FS . "/xhprof_lib/utils/xhprof_lib.php";
         include_once APPLICATION_XHPROF_ROOT_FS . "/xhprof_lib/utils/xhprof_runs.php";
         $xhprof_runs = new XHProfRuns_Default();
         $profileName = md5($_SERVER['REQUEST_URI']);
         $run_id = $xhprof_runs->save_run($xhprof_data, md5($_SERVER['REQUEST_URI']));
         $content .= '<br /><a href="' . APPLICATION_XHPROF_URI . 'xhprof_html/index.php?run=' . $run_id . '&amp;source=' . $profileName . '" target="_blank">View profiling detail</a>';
     }
     $content .= !$removefieldset ? '</fieldset>' : '';
     return $content;
 }
开发者ID:davidmottet,项目名称:automne,代码行数:47,代码来源:stats.php


示例6: phpversion

if ($is_web) {
    echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">\n<head>\n<title>{$title}</title>\n</head>\n<body>\n<h1>{$title}</h1>\n<pre>\n";
} else {
    echo "{$title}\n\n";
}
if ($is_web) {
    echo "<h3>Using lib version: " . PhpXmlRpc::$xmlrpcVersion . " on PHP version: " . phpversion() . "</h3>\n";
    if ($xd) {
        echo "<h4>XDEBUG profiling enabled: skipping remote tests. Trace file is: " . htmlspecialchars(xdebug_get_profiler_filename()) . "</h4>\n";
    }
    flush();
    ob_flush();
} else {
    echo "Using lib version: " . PhpXmlRpc::$xmlrpcVersion . " on PHP version: " . phpversion() . "\n";
    if ($xd) {
        echo "XDEBUG profiling enabled: skipping remote tests\nTrace file is: " . xdebug_get_profiler_filename() . "\n";
    }
}
// test 'manual style' data encoding vs. 'automatic style' encoding
begin_test('Data encoding (large array)', 'manual encoding');
for ($i = 0; $i < $num_tests; $i++) {
    $vals = array();
    for ($j = 0; $j < 10; $j++) {
        $valarray = array();
        foreach ($data[$j] as $key => $val) {
            $values = array();
            $values[] = new Value($val[0], 'int');
            $values[] = new Value($val[1], 'double');
            $values[] = new Value($val[2], 'string');
            $values[] = new Value($val[3], 'boolean');
            $values[] = new Value($val[4], 'dateTime.iso8601');
开发者ID:TsobuEnterprise,项目名称:phpxmlrpc,代码行数:31,代码来源:benchmark.php


示例7: xdebug_info

 function xdebug_info()
 {
     echo xdebug_get_profiler_filename();
 }
开发者ID:pjkix,项目名称:short-urls,代码行数:4,代码来源:debug.class.php


示例8: getPrepFiles

 /**
  * List of files in $dir whose filename has the format $format
  *
  * @return array Files
  */
 private function getPrepFiles($format, $dir)
 {
     $list = preg_grep($format, scandir($dir));
     $files = array();
     $scriptFilename = $_SERVER['SCRIPT_FILENAME'];
     foreach ($list as $file) {
         $absoluteFilename = $dir . $file;
         // Make sure that script does not include the profile currently being generated. (infinite loop)
         if (function_exists('xdebug_get_profiler_filename') && realpath(xdebug_get_profiler_filename()) == realpath($absoluteFilename)) {
             continue;
         }
         $files[$file] = array('absoluteFilename' => $absoluteFilename, 'mtime' => filemtime($absoluteFilename), 'preprocessed' => true, 'filesize' => $this->bytestostring(filesize($absoluteFilename)));
     }
     return $files;
 }
开发者ID:cklosowski,项目名称:webgrind,代码行数:20,代码来源:FileHandler.php


示例9: showDebugInfo

 /**
  * Display debug info gathered along the execution
  *
  * @return void
  */
 public static function showDebugInfo()
 {
     global $Language;
     echo '<div id="footer_debug_separator"/>';
     echo '<div id="footer_debug">';
     echo '<div class="alert alert-info">
                <h4> Development useful information! </h4>
                The section above will show you some useful information about Tuleap for development purpose.
           </div>';
     echo '<div id="footer_debug_content">';
     $debug_compute_tile = microtime(true) - $GLOBALS['debug_time_start'];
     if (function_exists('xdebug_time_index')) {
         $xdebug_time_index = xdebug_time_index();
     }
     $query_time = 0;
     foreach ($GLOBALS['DBSTORE'] as $d) {
         foreach ($d['trace'] as $trace) {
             $query_time += $trace[2] - $trace[1];
         }
     }
     $purifier = Codendi_HTMLPurifier::instance();
     echo '<span class="debug">' . $Language->getText('include_layout', 'query_count') . ": ";
     echo $GLOBALS['DEBUG_DAO_QUERY_COUNT'] . "</span>";
     $percent = (int) ($GLOBALS['DEBUG_TIME_IN_PRE'] * 100 / $debug_compute_tile);
     $sql_percent = (int) ($query_time * 100 / $debug_compute_tile);
     echo '<table border=1><thead><tr><th></th><th>Page generated in</th></tr></thead><tbody>';
     echo '<tr><td>pre.php</td><td>' . number_format(1000 * $GLOBALS['DEBUG_TIME_IN_PRE'], 0, '.', "'") . ' ms (' . $percent . '%)</td>';
     echo '<tr><td>remaining</td><td>' . number_format(1000 * ($debug_compute_tile - $GLOBALS['DEBUG_TIME_IN_PRE']), 0, '.', "'") . ' ms</td>';
     echo '<tr><td><b>total</td><td><b>' . number_format(1000 * $debug_compute_tile, 0, '.', "'") . ' ms</td>';
     if (function_exists('xdebug_time_index')) {
         echo '<tr><td>xdebug</td><td>' . number_format(1000 * $xdebug_time_index, 0, '.', "'") . ' ms</tr>';
     }
     echo '<tr><td>sql</td><td>' . number_format(1000 * $query_time, 0, '.', "'") . ' ms (' . $sql_percent . '%)</tr>';
     echo '</tbody></table>';
     if (function_exists('xdebug_get_profiler_filename')) {
         if ($file = xdebug_get_profiler_filename()) {
             echo '<div>Profiler info has been written in: ' . $file . '</div>';
         }
     }
     $hook_params = array();
     EventManager::instance()->processEvent('layout_footer_debug', $hook_params);
     //Display the config
     // Uncomment this only if you know what you are doing. This may lead to sensitive information leakage /!\
     //echo '<fieldset><legend id="footer_debug_config" class="'. Toggler::getClassname('footer_debug_config') .'">Config:</legend>';
     //echo '<pre>';
     //Config::dump();
     //echo '</pre>';
     //echo '</fieldset>';
     // Display all queries used to generate the page
     echo '<fieldset><legend id="footer_debug_allqueries" class="' . Toggler::getClassname('footer_debug_allqueries') . '">All queries:</legend>';
     echo '<pre>';
     $queries = array();
     $queries_by_time_taken = array();
     $i = 0;
     foreach ($GLOBALS['QUERIES'] as $sql) {
         $t = 0;
         foreach ($GLOBALS['DBSTORE'][md5($sql)]['trace'] as $trace) {
             $t += $trace[2] - $trace[1];
         }
         $q = array('sql' => $purifier->purify($sql), 'total time' => number_format(1000 * $t, 0, '.', "'") . ' ms');
         $queries[] = $q;
         $queries_by_time_taken[] = array('n°' => $i++, 't' => $t) + $q;
     }
     print_r($queries);
     echo '</pre>';
     echo '</fieldset>';
     // Display all queries used to generate the page ordered by time taken
     usort($queries_by_time_taken, array(__CLASS__, 'sort_queries_by_time_taken'));
     echo '<fieldset><legend id="footer_debug_allqueries_time_taken" class="' . Toggler::getClassname('footer_debug_allqueries_time_taken') . '">All queries by time taken:</legend>';
     echo '<table border="1" style="border-collapse:collapse" cellpadding="2" cellspacing="0">';
     echo '<thead><tr><th>n°</th><th style="white-space:nowrap;">time taken</th><th>sum</th><th>sql</th></tr></thead>';
     $i = 0;
     $sum = 0;
     foreach ($queries_by_time_taken as $q) {
         echo '<tr valign="top" class="' . html_get_alt_row_color($i++) . '">';
         echo '<td>' . $q['n°'] . '</td>';
         echo '<td style="white-space:nowrap;">' . $q['total time'] . '</td>';
         echo '<td style="white-space:nowrap;">' . number_format(1000 * ($sum += $q['t']), 0, '.', "'") . ' ms' . '</td>';
         echo '<td><pre>' . $q['sql'] . '</pre></td>';
         echo '</tr>';
     }
     echo '</table>';
     echo '</fieldset>';
     echo '<fieldset><legend id="footer_debug_queriespaths" class="' . Toggler::getClassname('footer_dubug_queriespaths') . '">Path of all queries:</legend>';
     $max = 0;
     foreach ($GLOBALS['DBSTORE'] as $d) {
         foreach ($d['trace'] as $trace) {
             $time_taken = 1000 * round($trace[2] - $trace[1], 3);
             if ($max < $time_taken) {
                 $max = $time_taken;
             }
         }
     }
     $paths = array();
     $time = $GLOBALS['debug_time_start'];
//.........这里部分代码省略.........
开发者ID:pombredanne,项目名称:tuleap,代码行数:101,代码来源:Layout.class.php


示例10: getDetails

    /**
     * Debug output found at the bottom of the site when debug mode is enabled.
     *
     * @static 
     * @return mixed Only returns something if the installer is being used and in that case it returns FALSE
     */
    public static function getDetails()
    {
        if (defined('PHPFOX_INSTALLER')) {
            return false;
        }
        // SQL
        $iSqlCount = 0;
        $fSum = 0.0;
        $fLimit = 0.05 * 128;
        $iSqlMemory = 0;
        $aKeywords = array('SELECT', 'SELECT ', 'FROM', 'FROM ', 'WHERE ', 'UPDATE ', 'OFFSET', ' AS ', 'UNION ALL', 'INNER JOIN ', 'LEFT JOIN ', 'INSERT INTO ', 'SHOW COLUMNS ', 'ON', 'SET', 'USING', 'USE INDEX', 'JOIN ', 'ORDER BY', 'DESC', 'LIMIT', 'DELETE');
        $oRequest = Phpfox_Request::instance();
        $oFile = Phpfox_File::instance();
        $aReplaces = array_map(array('self', '_addKeywordSyntax'), $aKeywords);
        $sDriver = Phpfox::getParam(array('db', 'driver'));
        $sSql = '';
        $bIsCmd = PHP_SAPI == 'cli' || defined('PHPFOX_IS_AJAX') && PHPFOX_IS_AJAX;
        if (!isset(self::$_aDebugHistory['sql'])) {
            self::$_aDebugHistory['sql'] = array();
        }
        // Fresh install, no need to display sql debug
        if ($sDriver == 'DATABASE_DRIVER') {
            self::$_aDebugHistory['sql'] = array();
        }
        foreach (self::$_aDebugHistory['sql'] as $aLine) {
            if (!isset($aLine['sql'])) {
                continue;
            }
            $iSqlCount++;
            $sExtra = Phpfox_Database::instance()->sqlReport($aLine['sql']);
            if ($bIsCmd) {
                $sSql .= "\n ----------------- \n Rows: " . $aLine['rows'] . " Slave: " . ($aLine['slave'] ? 'Yes' : 'No') . " \n " . $aLine['sql'] . " \n\n";
            } else {
                if ($aLine['time'] == '0.0000000') {
                    $aLine['time'] = '0.0000001';
                }
                $sColor = sprintf('%02X', min(255, $fLimit / $aLine['time']));
                $aLine['sql'] = str_replace($aKeywords, $aReplaces, htmlspecialchars($aLine['sql']));
                $sSql .= '<div class="nDebugInfo">
				<span style="background-color: #FF' . $sColor . $sColor . '; color:#000; padding:2px;">' . $aLine['time'] . '</span>
				| <b>Memory Before:</b> ' . $oFile->filesize($aLine['memory_before']) . '
				| <b>Memory After:</b> ' . $oFile->filesize($aLine['memory_after']) . '
				| <b>Memory Used:</b> ' . $oFile->filesize($aLine['memory_after'] - $aLine['memory_before']) . '
				| <b>Rows:</b> ' . $aLine['rows'] . '
				| <b>Slave:</b> ' . ($aLine['slave'] ? 'Yes' : 'No') . '
				</div>';
                $sSql .= '<div class="nDebugItems">' . self::_parseSQL($aLine['sql']) . '' . $sExtra . '</div>';
            }
            $fSum += $aLine['time'];
            $iSqlMemory += $aLine['memory_after'] - $aLine['memory_before'];
        }
        // General Stats
        $iTotalTime = sprintf('%0.7f', array_sum(explode(' ', microtime())) - PHPFOX_TIME_START);
        $iTotalSqlTime = sprintf('%0.7f', $fSum);
        $sDebugReturn = '<div id="js_main_debug_holder">';
        if (!defined('PHPFOX_MEM_END')) {
            define('PHPFOX_MEM_END', memory_get_usage());
        }
        if (PHPFOX_DEBUG_LEVEL === 1) {
            $sDebugReturn .= '<div style="font-size:9pt; text-align:center; padding-bottom:50px;">Page generated in ' . round($iTotalTime, 4) . ' seconds with ' . $iSqlCount . ' queries and GZIP ' . (Phpfox::getParam('core.use_gzip') ? 'enabled' : 'disabled') . ' on ' . $_SERVER['SERVER_ADDR'] . '.</div>';
        } elseif (PHPFOX_DEBUG_LEVEL === 2 || PHPFOX_DEBUG_LEVEL === 3) {
            $bSlaveEnabled = Phpfox::getParam(array('db', 'slave'));
            $aStats = array('Version' => PhpFox::getVersion(), 'Product Code Name' => PhpFox::getCodeName(), '1' => '', 'Total Time' => $iTotalTime, 'PHP General Time' => $iTotalTime - $iTotalSqlTime, 'GZIP' => Phpfox::getParam('core.use_gzip') ? 'enabled' : 'disabled', '2' => '', 'Driver Version' => $sDriver == 'DATABASE_DRIVER' ? 'N/A' : Phpfox_Database::instance()->getServerInfo(), 'SQL Time' => $iTotalSqlTime, 'SQL Queries' => $iSqlCount, 'SQL Memory Usage' => $oFile->filesize($iSqlMemory), 'SQL Slave Enabled' => $bSlaveEnabled ? 'Yes' : 'No', 'SQL Total Slaves' => $bSlaveEnabled ? count(Phpfox::getParam(array('db', 'slave_servers'))) : 'N/A', 'SQL Slave Server' => $bSlaveEnabled ? Phpfox_Database::instance()->sSlaveServer : 'N/A', '3' => '', 'Total Memory Usage' => $oFile->filesize(PHPFOX_MEM_END), 'Total Memory Usage (Including Debug)' => $oFile->filesize(memory_get_usage()), 'Memory Limit' => $oFile->filesize(self::_getUsableMemory()) . ' (' . @ini_get('memory_limit') . ')', '4' => '', 'Load Balancing Enabled' => Phpfox::getParam(array('balancer', 'enabled')) ? 'Yes' : 'No', 'Requests From' => $oRequest->getServer('SERVER_ADDR'), 'Server ID#' => $oRequest->getServer('PHPFOX_SERVER_ID'), '5' => '', 'Server Time Stamp' => date('F j, Y, g:i a', PHPFOX_TIME), 'PHP Version' => PHP_VERSION, 'PHP Sapi' => php_sapi_name(), 'PHP safe_mode' => PHPFOX_SAFE_MODE ? 'true' : 'false', 'PHP open_basedir' => PHPFOX_OPEN_BASE_DIR ? 'true' : 'false', 'Operating System' => PHP_OS, '6' => '', 'Cache' => Phpfox::getParam('core.cache_storage'));
            if (extension_loaded('xdebug')) {
                $aXdebug = array('4' => '', 'xDebug File Name' => xdebug_get_profiler_filename(), 'xDebug Total Time' => xdebug_time_index());
                $aStats = array_merge($aStats, $aXdebug);
            }
            $sDebugStats = '';
            foreach ($aStats as $sStatTitle => $mStatValue) {
                if (!$mStatValue) {
                    $sDebugStats .= $bIsCmd ? "\n" : "<br />";
                } else {
                    $sDebugStats .= $bIsCmd ? "" . $sStatTitle . ": " . $mStatValue . "\n" : "<div class=\"nDebugLeft\">" . $sStatTitle . ":</div><div>" . $mStatValue . "</div>\n<div class=\"nClear\"></div>\n";
                }
            }
            $aCookies = array();
            $sCookiePrefix = Phpfox::getParam('core.session_prefix');
            $iPrefixLength = strlen($sCookiePrefix);
            foreach ($_COOKIE as $sKey => $sValue) {
                if (substr($sKey, 0, $iPrefixLength) != $sCookiePrefix) {
                    continue;
                }
                $aCookies[$sKey] = $sValue;
            }
            if ($bIsCmd) {
                $sDebugReturn .= $sDebugStats;
                $sDebugReturn .= "##############################################";
            } else {
                $sDebugReturn .= '
				<div id="n_debug">
				<div id="n_debug_header">
					phpFox Developers Debug
					<a href="#" onclick="if (getCookie(\'js_console\')) { deleteCookie(\'js_console\'); $(\'#firebug_no_console\').remove(); } else { setCookie(\'js_console\', \'1\', 365); p(\'Enabled JavaScript Console\'); } return false;">Toggle JavaScript Console</a>
				</div>		
//.........这里部分代码省略.........
开发者ID:lev1976g,项目名称:core,代码行数:101,代码来源:debug.class.php


示例11: llxFooter

if (!function_exists('xdebug_is_enabled')) {
    print 'XDebug seems to be not installed. Function xdebug_is_enabled not found.';
    llxFooter();
    exit;
}
if (function_exists('socket_create')) {
    $address = ini_get('xdebug.remote_host') ? ini_get('xdebug.remote_host') : '127.0.0.1';
    $port = ini_get('xdebug.remote_port') ? ini_get('xdebug.remote_port') : 9000;
    print "<strong>Current xdebug setup:</strong><br>\n";
    print "* Remote debug setup:<br>\n";
    print 'xdebug.remote_enable = ' . ini_get('xdebug.remote_enable') . "<br>\n";
    print 'xdebug.remote_host = ' . $address . "<br>\n";
    print 'xdebug.remote_port = ' . $port . "<br>\n";
    print "* Profiler setup ";
    if (function_exists('xdebug_get_profiler_filename')) {
        print xdebug_get_profiler_filename() ? "(currently on into file " . xdebug_get_profiler_filename() . ")" : "(currently off)";
    } else {
        print "(currenlty not available)";
    }
    print ":<br>\n";
    print 'xdebug.profiler_enable = ' . ini_get('xdebug.profiler_enable') . "<br>\n";
    print 'xdebug.profiler_enable_trigger = ' . ini_get('xdebug.profiler_enable_trigger') . "<br>\n";
    print 'xdebug.profiler_output_dir = ' . ini_get('xdebug.profiler_output_dir') . "<br>\n";
    print 'xdebug.profiler_output_name = ' . ini_get('xdebug.profiler_output_name') . "<br>\n";
    print 'xdebug.profiler_append = ' . ini_get('xdebug.profiler_append') . "<br>\n";
    print "<br>\n";
    echo "To run a debug session, add parameter<br>";
    echo "* XDEBUG_SESSION_START=aname on your URL. To stop, remove cookie XDEBUG_SESSION_START.<br>\n";
    echo "To run a profiler session (when xdebug.profiler_enable_trigger=1), add parameter<br>\n";
    echo "* XDEBUG_PROFILE=aname on each URL.<br>";
    print "<br>";
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:31,代码来源:xdebug.php


示例12: debugInfo

 private static function debugInfo()
 {
     $global_vars = implode(', ', array_keys($GLOBALS));
     $res = '<div id="debug"><div>' . '<p>memory usage: ' . memory_get_usage() . ' (' . files::size(memory_get_usage()) . ')</p>';
     if (function_exists('xdebug_get_profiler_filename')) {
         $res .= '<p>Elapsed time: ' . xdebug_time_index() . ' seconds</p>';
         $prof_file = xdebug_get_profiler_filename();
         if ($prof_file) {
             $res .= '<p>Profiler file : ' . xdebug_get_profiler_filename() . '</p>';
         } else {
             $prof_url = http::getSelfURI();
             $prof_url .= strpos($prof_url, '?') === false ? '?' : '&';
             $prof_url .= 'XDEBUG_PROFILE';
             $res .= '<p><a href="' . html::escapeURL($prof_url) . '">Trigger profiler</a></p>';
         }
         /* xdebug configuration:
         			zend_extension = /.../xdebug.so
         			xdebug.auto_trace = On
         			xdebug.trace_format = 0
         			xdebug.trace_options = 1
         			xdebug.show_mem_delta = On
         			xdebug.profiler_enable = 0
         			xdebug.profiler_enable_trigger = 1
         			xdebug.profiler_output_dir = /tmp
         			xdebug.profiler_append = 0
         			xdebug.profiler_output_name = timestamp
         			*/
     }
     $res .= '<p>Global vars: ' . $global_vars . '</p>' . '</div></div>';
     return $res;
 }
开发者ID:nikrou,项目名称:dotclear,代码行数:31,代码来源:lib.dc.page.php


示例13: xdebug_profiler_shutdown_cb

function xdebug_profiler_shutdown_cb()
{
    $is_xmlhttprequest = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
    if (isset($_REQUEST['XDEBUG_PROFILE'])) {
        $used_memory = xdebug_memory_usage();
        $sizename = array(" Bytes", " KB", " MB", " GB");
        $used_memory = round($used_memory / pow(1024, $i = floor(log($used_memory, 1024))), 2) . $sizename[$i];
        $elapsed_time = round(xdebug_time_index() * 1000, 3);
        $profile = xdebug_get_profiler_filename();
        $profile_id = md5($profile);
        /* Show result box */
        if (!$is_xmlhttprequest) {
            if ($profile === false) {
                $path = ini_get('xdebug.profiler_output_dir');
                if ($path != '') {
                    $reason = is_dir($path) ? 'Directory is not writeable' : (file_exists($path) ? "'{$path}' is not directory" : "'{$path}' does not exist");
                    $output = sprintf('Error: Could not create profile dump in %s<br />(Reason: %s)', $path, $reason);
                } else {
                    $output = 'Error: xdebug.profiler_output_dir is not set';
                }
            } else {
                $output = "\n<b>Page generated in</b> {$elapsed_time} ms <b>Used memory:</b> {$used_memory}\n<b>Profiler dump:</b> <a href='/download.php?file={$profile}'>{$profile}</a>\n";
                if ($_REQUEST['XDEBUG_PROFILE'] == 'long') {
                    $output .= shell_exec("/usr/bin/callgrind_annotate --inclusive=yes --tree=both {$profile}");
                }
            }
            echo <<<DATA
<div style="position: absolute; top: 0; z-index: 5000; border: dashed black 1px; background-color: #fff;" id="xdebug_profile_{$profile_id}">
 <a href="#" style="font-size: 11px;" onclick="javascript: document.getElementById('xdebug_profile_{$profile_id}').style.display = 'none'; return false;">[close]</a>
 <pre style="padding: 5px;">{$output}</pre>
 <a href="#" style="font-size: 11px;" onclick="javascript: document.getElementById('xdebug_profile_{$profile_id}').style.display = 'none'; return false;">[close]</a>
</div>
DATA;
        }
    }
    /* Output box with toggles to enable/disable profiler and annotation */
    if (!$is_xmlhttprequest) {
        $profiler = isset($_REQUEST['XDEBUG_PROFILE']) ? array('enabled' => 1, 'checked' => 'checked="checked"', 'display' => 'inline') : array('enabled' => 0, 'checked' => '', 'display' => 'none');
        $profiler['checked_annotate'] = isset($_REQUEST['XDEBUG_PROFILE']) && $_REQUEST['XDEBUG_PROFILE'] == 'long' ? 'checked="checked"' : '';
        echo <<<DATA
<!-- XDEBUG Dynamic Profiler -->
<script type="text/javascript">
<!--
var xdebug_Profiler = {$profiler['enabled']};
function xdebug_setCookie(value)
{
  if (value == '')
    document.cookie = "XDEBUG_PROFILE=; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT";
  else
    document.cookie = "XDEBUG_PROFILE=" + value + "; path=/; expires=Fri, 01-Jan-2038 00:00:01 GMT";
}
function xdebug_toggleProfiler(output)
{
  var annotate = document.getElementById('xdebug_profiler_annotate');

  if (xdebug_Profiler) {
    xdebug_setCookie('');
    xdebug_Profiler = 0;
    annotate.style.display = 'none';
  } else {
    xdebug_setCookie(output);
    xdebug_Profiler = 1;
    annotate.style.display = 'inline';
  }
  return xdebug_Profiler;
}
// -->
</script>
<div style="padding: 5px; border: dashed black 1px; background-color: #fff; z-index: 1000; position: absolute; top: 0px; right: 5px; " id="xdebug_profile_enable_cookie">
 <label for="xdebug_toggler" style="vertical-align: top">Toggle Profiler</label>
 <input id="xdebug_toggler" type="checkbox" onclick="this.checked = xdebug_toggleProfiler(this.value);" value="short" {$profiler['checked']} />
 <div id="xdebug_profiler_annotate" style="display: {$profiler['display']}">
  <label for="xdebug_annotate" style="vertical-align: top">Annotate</label>
  <input id="xdebug_annotate" type="checkbox" onclick="xdebug_setCookie((this.checked)?this.value:'short');" value="long" {$profiler['checked_annotate']} />
 </div>
</div>
DATA;
    }
}
开发者ID:bperel,项目名称:xdebug,代码行数:79,代码来源:online_profiling_prepend.php


示例14: var_dump

<?php

var_dump(xdebug_get_profiler_filename());
开发者ID:badlamer,项目名称:hhvm,代码行数:3,代码来源:profiling_basic_2.php


示例15: getProfilerFilename

 /**
  * Returns the name of the file which is used to save profile information to.
  *
  * @return string
  */
 public function getProfilerFilename()
 {
     return xdebug_get_profiler_filename();
 }
开发者ID:Keegomyneego,项目名称:cockamamei,代码行数:9,代码来源:Xdebug.php



注:本文中的xdebug_get_profiler_filename函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP xdebug_is_enabled函数代码示例发布时间:2022-05-23
下一篇:
PHP xdebug_get_headers函数代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap