به عنوان اولین خط اسکریپت خود تابع apd_set_pprof_trace() را برای شروه پیگیری فراخوانی کنید:
apd_set_pprof_trace();
میتوانید این خط را در هر کجای اسکریپت خود وارد کنید، اما اگر پیگیری را در ابتدای اسکریپت شروع ننمایید دادههای پروفایل از بین میرود که در غیر این صورت تبدیل به یک گلوگاه کارآیی میشود.
حال اسکریپت خود را اجرا کنید. خروجی در apd.dumpdir/pprof_pid.ext نوشته خواهد شد.
اگر شما از نسخه CGI PHP استفاده میکنید، باید پرچم '-e' برای فعال نمودن اطلاعات بیشتر برای کارکرد درست apd
وارد کنید. برای مثال:
php -e -f script.php
برای نشان دادن داده قالببندی شده پروفایل دستور pprofp را به همراه گزینههای نمایش و مرتبسازی انتخابی صادر کنید. خروجی قالببندی شده به صورت زیر خواهد بود:
bash-2.05b$ pprofp -R /tmp/pprof.22141.0 Trace for /home/dan/testapd.php Total Elapsed Time = 0.00 Total System Time = 0.00 Total User Time = 0.00 Real User System secs/ cumm %Time (excl/cumm) (excl/cumm) (excl/cumm) Calls call s/call Memory Usage Name -------------------------------------------------------------------------------------- 100.0 0.00 0.00 0.00 0.00 0.00 0.00 1 0.0000 0.0009 0 main 56.9 0.00 0.00 0.00 0.00 0.00 0.00 1 0.0005 0.0005 0 apd_set_pprof_trace 28.0 0.00 0.00 0.00 0.00 0.00 0.00 10 0.0000 0.0000 0 preg_replace 14.3 0.00 0.00 0.00 0.00 0.00 0.00 10 0.0000 0.0000 0 str_replace
گزینه -R در این مثال جدول پروفایل را به همراه مقدار زمان واقعی صرف شده برای هر تابع دلخواه را نشان میدهد. ستون "cumm call" نشاندهنده تعداد دفعات فراخوانی هر تابع و ستون "s/call" تعداد ثانیه مورد نیاز برای فراخوانی تابع را به صورت متوسط نشان میدهد.
برای تولید درخت فراخوانی فایل قابل استفاده در KCacheGrind فرمان pprof2calltree را صادر کنید.