...that the What's This? help for every GUI widget in KCachegrind contains detailed usage information for this widget? It is highly recommended to read at least these help texts on first use. Request What's This? help by pressing Shift+F1 and clicking on the widget.

...that you can get profile information at instruction level with Calltree when you provide the option --dump-instr=yes? Use the Assembler View for the instruction annotations.

...that you can use Alt-Left/Right keys of your keyboard to go back/forward in the active object history ?

...that you can navigate in the Callee/Caller Map View using arrow keys? Use Left/Right to change to siblings of the current item; use Up/Down to go one nesting level up/down. To select the current item, press Space, and to activate it, press Return.

...that you can navigate in the Call Graph View using arrow keys? Use Up/Down to go one calling level up/down, alternating between calls and functions. Use Left/Right to change to siblings of a current selected call. To activate the current item, press Return.

...that you can rapidly locate a function by entering part of its name (case-insensitive) into the edit line of the toolbar and hit return?

...that you can assign custom colors to ELF objects/C++ Classes/Source Files for graph coloring in Settings->Configure KCachegrind...?

...that you can see if debug info is available for a selected function by looking at the location label in the Info tab or the source listing header in the source tab?

There must be the name of the source file (with extension). If KCachegrind still doesn't show the source, make sure that you have added the directory of the source file to the Source Directories list in the configuration.

...that you can configure whether KCachgrind should show absolute event counts or relative ones (percentage display)?

...that you can configure the maximum number of items for all function lists in KCachegrind? Limiting the number of items is done to get a fast reacting GUI. The last item in the list will show you the number of skipped functions, together with a cost condition for these skipped functions.

To activate a function with small costs, search for it and select it in the flat profile. Selecting functions with small cost will temporarily add them to the flat profile list.

...that the Coverage tab - in contrast to the Call Lists tab - shows all functions that are calling the selected function (upper part) / are called by the selected function (bottom part), no matter how many function are between them on the stack?

Examples:

An entry in the upper list for function foo1() with a value of 50% with function bar() selected means that 50% of all the cost of function bar() happened while called from function foo1().

An entry in the bottom list for function foo2() with a value of 50% with function bar() selected means that 50% of all the cost of function bar() happened while calling foo2() from bar().

...that waiting for the tool tip inside of a tree map shows the list of names of the nested rectangles the mouse pointer is over?

Items from this list can be selected by pressing the right mouse button.

...that you can constrain the cost counts shown to only a few parts of the whole trace by selecting these parts in the "Trace Selection" Dockable?

To generate multiple parts in a profiling run with cachegrind, use e.g. option --cachedumps=xxx for parts of a length of xxx basic blocks (A basic block is a run of not-branching assembler statements inside of your program code).

...that by splitting the view to show information of two functions simultaniously, selecting a function in one panel shows the information for that function in the other panel?