<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Mon, 08 Sep 2008 03:04:34 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[David Coallier's Blog: XDebug to finally get a Web Frontend]]></title>
      <guid>http://www.phpdeveloper.org/news/10108</guid>
      <link>http://www.phpdeveloper.org/news/10108</link>
      <description><![CDATA[<p>
In a <a href="http://blog.agoraproduction.com/index.php?/archives/67-XDebug-to-finally-get-a-Web-Frontend.html">new blog entry</a> today, <i>David Coallier</i> has posted about two new offerings that are in the works for a web-based frontend to XDebug:
</p>
<blockquote>
For quite a while in the PHP Community (And even myself) I have heard people asking about either an online tool to work on cachegrind output files or a cross platform tool that would have the ability to do what <a href="http://kcachegrind.sourceforge.net/">KCacheGrind</a> does on Linux but for Windows and OSX.
</blockquote>
<p>
He <a href="http://blog.agoraproduction.com/index.php?/archives/67-XDebug-to-finally-get-a-Web-Frontend.html">mentions</a> the origin of the idea for a cachegrind app as a part of the Google Summer of Code (that did get accepted and will be worked on by <i>Chung-Yang Lee</i>). The other, <a href="http://www.phpdeveloper.org/news/10102">Webgrind</a> is an independent project from the other but looks equally as promising.
</p>
<p>
Check out <i>Vinu Thomas'</i> <a href="http://blogs.vinuthomas.com/2008/05/05/webgrind-xdebug-frontend/">thoughts</a> on the matter too.
</p>]]></description>
      <pubDate>Mon, 05 May 2008 09:33:28 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Andreas Gohr's Blog: Understanding PHP code better with Xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9685</guid>
      <link>http://www.phpdeveloper.org/news/9685</link>
      <description><![CDATA[<p>
<i>Andreas Gohr</i> has a <a href="http://www.splitbrain.org/blog/2008-02/21-understanding_php_code_better_with_xdebug">new blog post</a> today that talks about a way to really get to know your code better - use XDebug to see it from the inside out.
</p>
<blockquote>
<a href="http://xdebug.org/">Xdebug</a> is a PHP extension which helps you to understand, debug and profile PHP. It can help you to find bottlenecks or give you an quick overview what happens in code you aren't familiar with, yet.
</blockquote>
<p>
<a href="http://www.splitbrain.org/blog/2008-02/21-understanding_php_code_better_with_xdebug">The post</a> gives a brief overview of the installation of the extension (building a shared module) and shows how to get started with profiling an application. He talks about the <a href="http://valgrind.org/info/tools.html#cachegrind">cachegrind</a> tool you can use to parse the results and the <a href="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi">kcachegrind</a> app that will make the results a bit more visual.
</p>
<p>
As a bonus, he also throws in a bit about function tracing - picking out each small bit of functionality in the code (the function/methods) and gathering stats for each.
</p>]]></description>
      <pubDate>Fri, 22 Feb 2008 09:14:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Profiling PHP Applications With xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9333</guid>
      <link>http://www.phpdeveloper.org/news/9333</link>
      <description><![CDATA[<p>
The Zend Developer Zone has posted the <a href="http://devzone.zend.com/article/2899-Profiling-PHP-Applications-With-xdebug">theird part</a> of their series (by <i>Stefan Priebsch</i>) about working with XDebug in PHP to profile your applications.
</p>
<blockquote>
In this week's issue, we will have a look at profiling. Profiling is a feature that seems to be similar to trace logging at first sight. Profiling logs, however, are not meant for human readability, and are not meant to visualize the program's control flow, but provide the data for a statistical analysis of the program run.
</blockquote>
<p>
He includes an example of the profiling log his XDebug setup is generating and gives the settings you'll need to make a log of your own like php.ini settings to start it up and name it/place it where you want it. 
</p>
<p>
He also talks about the method to get something useful out of the profiling logs - using WinCacheGrind or KCacheGrind to get an overview of what's going on "on the inside" of your application.
</p>]]></description>
      <pubDate>Tue, 01 Jan 2008 09:01:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Reuter's Blog: Profiling PHP Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/9245</guid>
      <link>http://www.phpdeveloper.org/news/9245</link>
      <description><![CDATA[<p>
<i>Stefan Reuter</i> has a <a href="http://blogs.reucon.com/srt/2007/12/13/profiling_php_applications.html">very quick example</a> of a method for profiling your PHP applications with Xdebug and KCachegrind.
</p>
<blockquote>
Ever wondered where your PHP applications spend their time? [...] We wanted to gain performance insights of a newly developed application based on Zend Framework to spot areas worth receiving some fine tuning. We did not want to modify the application for that purpose so I had a look at the options available for PHP.
</blockquote>
<p>
The resulting combination of <a href="http://xdebug.org/">XDebug</a> and <a href="http://kcachegrind.sourceforge.net/">KCachegrind</a> to grab the stats from the application and create <a href="http://blogs.reucon.com/srt/images/xdebug-screen1.png">great</a> <a href="http://blogs.reucon.com/srt/images/xdebug-screen2.png">output</a> images/reports to help make locating the problem a snap.
</p>]]></description>
      <pubDate>Fri, 14 Dec 2007 10:27:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Profiling and Optimizing PHPUnit]]></title>
      <guid>http://www.phpdeveloper.org/news/8883</guid>
      <link>http://www.phpdeveloper.org/news/8883</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/709-Profiling-and-Optimizing-PHPUnit.html">posted about</a> a bottle neck in the PHPUnit unit testing software for PHP:
</p>
<blockquote>
Now that <a href="http://sebastian-bergmann.de/archives/707-Xdebug-Performance-Boost.html">collecting code coverage information is not slow anymore</a> (as of <a href="http://derickrethans.nl/xdebug_201.php">Xdebug 2.0.1</a>), PHPUnit's report generation code (PHPUnit_Util_Report_*) has become a bottleneck.
</blockquote>
<p>
There are several images included in the post (output of KCachegrind):
</p>
<ul>
<li><a href="http://www.flickr.com/photos/sebastian_bergmann/1665971917/">generation at revision 1473</a>
<li><a href="http://www.flickr.com/photos/sebastian_bergmann/1677495603/">generation at revision 1475</a>
<li><a href="http://farm3.static.flickr.com/2011/1682292466_a3bd1becea_m.jpg">generation at 1486</a>
<li><a href="http://www.flickr.com/photos/sebastian_bergmann/1682556350/">generation at 1488</a>
</ul>
]]></description>
      <pubDate>Tue, 23 Oct 2007 07:54:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Internet Super Hero: PHP: mysqlnd can't do wonders]]></title>
      <guid>http://www.phpdeveloper.org/news/8483</guid>
      <link>http://www.phpdeveloper.org/news/8483</link>
      <description><![CDATA[<p>
On the Internet Super Hero blog today, there's <a href="http://blog.ulf-wendel.de/?p=155">this new post</a> with a sort of retraction of some of the previous comments they've made on the mysqlnd drivers - really more proof that "mysqlnd can't do wonders".
</p>
<blockquote>
Lastly, I've been blogging about positive performance related feedback on mysqlnd. Whenever I did so, I got some positive feedback - for obvious reasons: I was posting good marketing news. [...] As much as I'd love to, I can't stand behind a simple statement like "mysqlnd makes your applications faster". You must not assume that each and every application will profit from mysqlnd.
</blockquote>
<p>
His target of choice was <a href="http://www.wordpress.org">WordPress</a> which he ran through a testing cycle with <a href="http://jakarta.apache.org/jmeter/">JMeter</a> (a load and performance testing tool). In the end, though, using the mysqlnd drivers and the regular drivers didn't show much of a difference at all. To figure out why, he uses <a href="http://www.xdebug.org/index.php">XDebug</a>, <a href="http://pecl.php.net/package/APC">APC</a> and <a href="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex">KCachegrind</a> to work through where the issues might lie. Unfortunately:
</p>
<blockquote>
I was not able to see any mysql_*-function in the <a href="http://blog.ulf-wendel.de/images/wordpress_callgraph.png">call graphs</a>. The reason is that the mysql_*-functions do not contribute to the overall runtime of this application in a major way.
</blockquote>]]></description>
      <pubDate>Mon, 20 Aug 2007 07:49:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Faster PHP Apps - Profile Your Code with Xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/7680</guid>
      <link>http://www.phpdeveloper.org/news/7680</link>
      <description><![CDATA[<p>
A <a href="http://www.sitepoint.com/blogs/2007/04/23/faster-php-apps-profile-your-code-with-xdebug/">new post</a> to the SitePoint PHP Blog today (from <i>Paul Annesley</i>) looks briefly at how, with the help of <a href="http://xdebug.org/">XDebug</a>, you can make your applications lighter and faster.
</p>
<blockquote>
So we've got potentially slower code, and we can no longer just open up our simple PHP script and follow its execution from the top of the file to the bottom. How do we figure out exactly what's going on inside?
</blockquote>
<p>
He doesn't go through the installation of <a href="http://xdebug.org/">XDebug</a>, but he does give an example (complete with screenshots) of how to use it in conjunction with two other applications - <a href="http://sourceforge.net/projects/wincachegrind/">WinCacheGrind</a> for Windows users and <a href="http://kcachegrind.sourceforge.net/">KCachegrind</a> - to work with the output XDebug produces. 
</p>]]></description>
      <pubDate>Mon, 23 Apr 2007 10:16:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: PHP Frontend for Xdebug Profiling?]]></title>
      <guid>http://www.phpdeveloper.org/news/5228</guid>
      <link>http://www.phpdeveloper.org/news/5228</link>
      <description><![CDATA[<p>
On the SitePoint PHP Blog, <i>Harry Fuecks</i> has posted <a href="http://www.sitepoint.com/blogs/2006/04/20/php-frontend-for-xdebug-profiling/">an interesting bit</a> asking about a PHP frontend for Xdebug profiling, specifically for the 2.x version's output.
</p>
<quote>
<i>
Xdebug 1.x had this nice xdebug_dump_function_profile() function which planted a HTML table containing the profiling stats in your output'"nice an easy to use, ignoring the minor issue that doing this "in band" with the code you are profiling slants the results. With Xdebug 2.x it was dropped and you now need a tool like <a href="http://kcachegrind.sourceforge.net/">kcachegrind</a> or <a href="http://sourceforge.net/projects/wincachegrind/">wincachegrind</a>, an output file generated by Xdebug acting as the middle man.
</i>
</quote>
<p>
Several of <a href="http://www.sitepoint.com/blogs/2006/04/20/php-frontend-for-xdebug-profiling/#comments">the comments</a> either ask why he would want to write it when the two tools he mentions work just fine or a few links to scripts out there that already do this sort of thing. If you've been looking for something like this, definitely check out this post - there's a few resources in there you don't want to miss.
</p>]]></description>
      <pubDate>Mon, 24 Apr 2006 07:34:09 -0500</pubDate>
    </item>
  </channel>
</rss>
