Benjamin Benjamin 30.01.2015

Filtering Callgraphs

After our holiday break in December we are happy to introduce the first new feature of 2015. We are starting small with the addition of filtering options for callgraphs.

To improve the experience when looking at callgraphs it is necessary to adjust them to the current data you are looking at. After all even XHPRof's original UI allowed configuring some filters if you knew the magic GET variables to pass.

Before this change callgraphs were limited to a depth of 15 calls, unlimited children per call and a 1% treshold of total response time for calls to be included. Depending on the kind of project, these defaults either lead to very wide and deep graphs that are hard to navigate or to boring graphs that include even the most unimportant paths.

When you now visit the callgraph of a trace you will see three new dropdowns to filter the callgraph:

  • Depth controls the number of calls that are displayed starting from the main node.
  • Children/Node controls the maximum number of children displayed for every call.
  • Call Treshold controls the minimum duration of a call to appear in the result as a percentage of the total response time.

See this screenshot with a current trace of the Tideways Profiler itself:

Callgraph FilteringCallgraph Filtering

We have also changed the defaults of some options to improve the experience. Children/call now defaults to "2" instead of the previous "Unlimited" and the depth has been reduced from 15 to 10.