Tuesday Mar 25, 2008

Tracing PHP Function Calls Using DTrace

In NetBeans, you can use the DTrace plug-in to analyze the performance of your PHP applications. A DTrace provider for PHP that adds probes to function entry and exit points has been available through Cool Stack. The support is also provided through Web Stack, if you are using SXDE 1/08.

To get started, follow these tutorials:
1.Configure NetBeans for DTrace.
2.Get PHP DTrace Extension.

Once you are done with the steps provided in the above articles, start your Apache web server and check the probes.

bash-3.2# dtrace -l | grep php

17952    php1895         dtrace.so       php_dtrace_execute function-entry
17953    php1895         dtrace.so       php_dtrace_execute_internal function-entry
17954    php1895         dtrace.so       php_dtrace_execute function-return
17955    php1895         dtrace.so       php_dtrace_execute_internal function-return
17956    php1896         dtrace.so       php_dtrace_execute function-entry
......
......

I'm running a simple PHP application that has some function calls. Go to the DTrace window in the NetBeans IDE and start the
php_flowtime.d
script.



Here is my output. The output shows which function is being invoked and the invoke time.



My example has only a few SOAP calls. If you have a complex application with DB calls, this script will be useful to analyze the performance bottlenecks in your application.

About

Application development on Solaris OS

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today