ホームページ >php教程 >php手册 >プログラム フラグメントの実行時間をグローバルに記録し、プログラム ロジック内で長時間かかるブレークポイントを正確に検出します。

プログラム フラグメントの実行時間をグローバルに記録し、プログラム ロジック内で長時間かかるブレークポイントを正確に検出します。

WBOY
WBOYオリジナル
2016-06-21 08:55:50924ブラウズ

コードをコピー コードは次のとおりです:


// 時間を記録するグローバル変数を定義します
$_timer_id = 0;
// 各ブレークポイントの実行時間を記録するグローバル変数を設定する関数
function makeTimer( $notes, $onOff=FALSE )
{
if( $onOff )
{
グローバル $_timer_id;
$GLOBALS['timer'][$_timer_id][0] = マイクロタイム(TRUE); $ GLOBALS['timer'][$_timer_id][1] = $notes;
$_timer_id++>}
}
// グローバル実行時間ステータスを出力します
関数 traceTimer()
{
$timer_str = '';
$G_timer = count($GLOBALS['timer'])-1;
if( $G_timer>0 )
{
( $i=0;$i{
$dif_time =number_format( ($GLOBALS['timer'][$i+1][0] - $GLOBALS['timer ' ][$i][0]), 3 );
$timer_str .= 'dif: '.$dif_time.' '.$GLOBALS['timer'][$i][1]."n" ;
}
$dif_time =number_format((microtime(TRUE) - $GLOBALS['timer'][$G_timer][0]), 3 );
$timer_str .= 'dif: '。 $ dif_time.' '.$GLOBALS['timer'][$G_timer][1]."n";
}
return $timer_str;
//開始時刻
makeTimer( ' LINE:'.__LINE__ );
$imgstrpos = strpos($str, '$str_p = substr($str_noimg, 0, $imgstrpos);
makeTimer( ' LINE:'.__LINE__ );
$str_n = substr($str_noimg, $imgstrpos, strlen($str_noimg));
makeTimer( ' LINE:'.__LINE__ );
$pst_exc_imgs = $str_p.''.$str_n." "
makeTimer( ' LINE: '.__LINE__ );
// ログに記録します
error_log(traceTimer(), 3, '/tmp/'.basename(__FILE__).'.log' ); または直接出力します
エコートレースタイマー()


2010-05-14 09:20 に




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。