码迷,mamicode.com
首页 > 其他好文 > 详细

XHPROF相关内容

时间:2016-12-27 13:28:19      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:目录   sts   open   blog   加载   false   register   nbsp   root   

定义入口文件

define(‘XHPROF_OPEN‘, 0);
define(‘XHPROF_ROOT‘, ‘/home/www/xhprof/‘);

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(‘APP_DEBUG‘,true);

// 定义应用目录
define(‘APP_PATH‘,‘../app/‘);
define(‘LOG_PATH‘,APP_PATH.‘Runtime/Logs/‘);

if(defined(‘XHPROF_OPEN‘) && XHPROF_OPEN) {
    require (‘./xhprof.php‘);
}

 

加载xhprof.php

 

<?php
if (!defined(‘XHPROF_OPEN‘)) define(‘XHPROF_OPEN‘, 0);
class Xhprof
{
    private static $st = 0;

    /**
     * [start description]
     * @return [type] [description]
     */
    public static function start()
    {
        if (!function_exists(‘xhprof_enable‘)) {
            exit("xhprof_enable not exists!");
        } 
        if (!is_dir(XHPROF_ROOT)) {
            exit(XHPROF_ROOT . " not exists!");
        }
        //xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
        xhprof_enable(XHPROF_FLAGS_NO_BUILTINS |XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
        self::$st = microtime(true);
        register_shutdown_function(array(__CLASS__, ‘end‘)); //php进程关闭时自动执行的方法
    }

    /**
     * [end description]
     * @return [type] [description]
     */
    public static function end()
    {
        $et = microtime(true);
        $data = xhprof_disable();

        include_once XHPROF_ROOT."xhprof_lib/utils/xhprof_lib.php";
        include_once XHPROF_ROOT."xhprof_lib/utils/xhprof_runs.php";
        $runs = new XHProfRuns_Default();
        $runId = $runs->save_run($data, "hx");

        $log = XHPROF_ROOT . ‘xhprof_html/logs/‘.date(‘YmdHis‘).‘.html‘;
        $cost = $et - self::$st;
        $host = $_SERVER[‘HTTP_HOST‘];
        $title = $_SERVER[‘REQUEST_URI‘];
        $content = ‘Time: ‘.date(‘H:i:s‘)."\tCost: {$cost}\t\tUri({$host}): <a href=‘/index.php?run={$runId}&source=hx‘ target=‘_blank‘>{$title}</a><br/>";
        file_put_contents($log, $content, FILE_APPEND);
    }
}
if(XHPROF_OPEN) Xhprof::start();

 

XHPROF_OPEN 调试为1就可用

 

XHPROF相关内容

标签:目录   sts   open   blog   加载   false   register   nbsp   root   

原文地址:http://www.cnblogs.com/wicub/p/6225350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!