News Feed
Jobs Feed
Sections




News Archive
feed this:

Chris Jones:
Adding DTrace Probes to PHP Extensions
December 07, 2012 @ 09:35:09

In a new post to his site (related to the topic of this previous post) Chris Jones shows you how to setup and use DTrace support in your PHP installation for enhanced debugging abilities.

The powerful DTrace tracing facility has some PHP-specific probes that can be enabled with --enable-dtrace. DTrace for Linux is being created by Oracle and is currently in tech preview. Currently it doesn't support userspace tracing so, in the meantime, Systemtap can be used to monitor the probes implemented in PHP. This was recently outlined in David Soria Parra's post Probing PHP with Systemtap on Linux.

His examples are using the Oracle flavor of linux, but they should work for just about any unix-based system out there. He installs the tool via a yum package and compiles the latest PHP source with the "enable-dtrace" flag. He includes a simple script to connect to an Oracle database and shows the contents of the resulting "functrace.stp". He also shows how he added more "prodbes" (the points DTrace uses to profile) into the OCI8 extension for PHP (steps and source included).

0 comments voice your opinion now!
dtrace extension probe tutorial compile oci8 extension


David Parra:
Probing PHP with Systemtap on Linux
December 05, 2012 @ 10:41:30

David Parra has a new post to his site today about a method of using Systemtap to profile PHP as the code executes (as an alternative when DTrace may not be available.

PHP introduced DTrace support with PHP 5.3, enabling probing points in the PHP executable that can be used to simplify probing of PHP applications without having to the PHP implementation details. We enabled probes on function calls, file compilation, exceptions and errors. But this has always been limited to the operating systems that support DTrace. With the popularity of DTrace, Systemap programmers decided to add a DTrace compatibility layer that allows to use DTrace probes as Systemtap probing points as well.

Thanks to a recent commit to the PHP 5.5 branch, your PHP installation (compiled with DTrace support) can be executed with the "stap" command and searched for probe points. He includes a simple Systemtap script that counts the calls of a specific function to get you started.

0 comments voice your opinion now!
probe profile systemtap dtrace compile tutorial


David Soria Parra's Blog:
PHP 5.3.99-dev and DTrace Part I
April 29, 2010 @ 12:17:32

As David Soria Parra mentions in a recent post to his blog, the DTrace functionality has been backported to the PHP 5.3 branch and gives developers a bit more information about what's happening inside their applications.

For those not following the PHP development. We backported the DTraces probes from the abandoned PHP 6.0 branch, back to the new trunk PHP 5.3.99-dev. It is called 5.3.99 because the PHP dev community has not decided yet on a version number (5.4 or 6.0).

He gives the configure line to get it working on Solaris and Mac OSX and a sample line of code to ensure everything's working correctly. The results show the full execution of the example. This functionality can replace this extension from the PECL repository.

0 comments voice your opinion now!
dtrace trace backport osx solaris


IBuildings techPortal:
Analysing PHP web applications with dtrace
November 25, 2009 @ 09:19:07

On the IBuildings techPortal today there's a new podcast posted in the Dutch PHP Conference series - David Soria Parra's talk on analyzing web applications with Dtrace.

DTrace is the Swiss army knife to analyze the behavior of applications and enabling you to gather detailed information from the bottom of your application stack up to the top. DTrace is used by system administrators and developers, on Solaris, Mac OSX and FreeBSD, to do in-depth analysis of an application, to find and reduce performance bottlenecks and problems in productive system. The talk will give an introduction how to use DTrace's capabilities in web development, reflect the current state of DTrace support in PHP and show examples how to trace PHP script in production.

You can listen to this latest episode via their in-page player.

0 comments voice your opinion now!
podcast dpc09 dtrace


Experimentalworks Blog:
DTracing PHP
December 22, 2008 @ 15:19:10

On the Experimentalworks blog a recent post looks at using DTrace, the powerful tool to debug and trace problems in an application, with your PHP applications.

Dtrace is really powerful and trying to do an introduction to all it's features is just not possible. Therefore I will just focus on the basics, that are needed to get our stuff working. The basic idea behind Dtrace is that the kernel and userland programs fire probes on a specific location in the kernel or the userland program.

He looks at the structure of a DTrace program as well as a list of probes that you can use to help track down the problem in your application. His "first example" traces the compile time of the app and, when run on the command line, returns the time in seconds.

0 comments voice your opinion now!
dtrace tutorial example compile time structure probe


Johannes Schluter's Blog:
DTraceing around
October 13, 2008 @ 11:14:35

After singing the praises of DTrace for a while now, Johannes Schluter decided to show it off in a different way - introducing a collegue to it:

Yesterday, during a break at the Barcamp Munich, I gave Wolfram a short introduction on his Mac and decided to put some stuff here [in this post]. DTrace is a toolkit available on Solaris (Solaris 10 or OpenSolaris), recent MacOS versions and FreeBSD for mightier than tools like truss or strace but with way less impact. DTrace allows you to "hook" (called "probes") into the system and allows to do some analysis then.

He shows how to set up some of these "hooks" using D-script to wrap around a simple PHP script call. He alters the results to show things like the memory function its in, how much of the memory its using and a fun little script that "graphs" out the memory usage with "@" symbols.

0 comments voice your opinion now!
dtrace tutorial example emailloc memory allocate



Community Events









Don't see your event here?
Let us know!


code event opinion api unittest tool interview development podcast testing zendframework2 object community example introduction language framework composer release functional

All content copyright, 2013 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework