kcachegrind

kcachegrind: How to draw the full call graph?


I like kcachegrind's call graph. But I have been unable to make it graph the full call graph.

I would imagine I just had to set:

  1. Graph > Caller Depth > Unlimited
  2. Graph > Callee Depth > Unlimited
  3. Graph > Min. Node Cost > No Minimum
  4. Graph > Min. Call Cost > No Minimum

1 and 2 are easy. 3 is in the memu, but grayed out. 4 is not in the menu.

Is there a way I can make it show the full call graph graphically?


Solution

  • The answer for that lies in the source code (line 2794):

    a = addNodeLimitAction(m, tr("No Minimum"), 0.0);
    // Unlimited node cost easily produces huge graphs such that 'dot'
    // would need a long time to layout. For responsiveness, we only allow
    // for unlimited node cost if a caller and callee depth limit is set.
    a->setEnabled((_maxCallerDepth>=0) && (_maxCalleeDepth>=0));
    

    So you have to set the other two options to value other than 'unlimited'.