Benjamin Benjamin 30.07.2014

Improving XHProf Trace Analysis

With several waves of beta testers using the Tideways, we already recieved a fair share of feedback, both positive and negative. One point of criticism was centered around the user interface, particularly unexpected page reloads and weird back-button behavior.

Today we are happy to introduce the completly redesigend transaction and profiling traces view. You can now inspect several XHProf traces at the same time and never loose focus. We are using the javascript history API for navigation in traces, creating both a fast user experience and the possibility to share even the deepest bit of information with your colleagues by copying links.

New Trace SummaryNew Trace Summary

In addition we have improved the summary of a trace to highlight the most relevant information for you.

New Graphical Tools

We have also added more graphical analysis tools. For XHProf traces two different sets of graphs are useful given exlusive and inclusive wall times of function calls:

  1. For exclusive wall-times, that means the real performance impact of a function without all calls to child functions, we have introduced a treemap. The bigger the box of a function the more exclusive wall time it is using during the request.

    Call Treemap

    By clicking on a box you can directly open the call details page.

  2. For inclusive wall-times, own and child wall time, we added a so-called sunburst chart, starting in the middle with a circle for the main method of the analysed trace and adding layers of circles around it always proportionally to their share of the response time.

    Sunburst Chart

Both graphs should be considered experimental and we already have a list of improvements, however even in this early state they are invaluable for spotting performance problems.

Searching for Traces

In the performance section of your application, searching for a particular XHProf trace was not easy. To allow you find traces we have added a new feature: Search. You can filter by transaction names, HTTP method, urls, servers and many other criterias to find traces you are interested in.

Search will be improved in the next weeks to allow even more filtering and integrate more smoothly into the trace details view.

We are looking forward to your feedback on these new features.