To change the sort order, click once on any of the column headers. The data in the table views is reordered based on the data contained in that column. To reverse the sort order, click in the same column header again. The default numerical and alphabetical sorting behavior varies from column to column, but an upwards arrow in the column header always indicates an ascending sort, while a downward arrow indicates a descending sort.
You are not limited to a simple one-level sort. You can specify as many chained sort criteria as there are columns. To specify more levels in the sort hierarchy, hold down the shift key and click on other columns until you have achieved your desired sequence. Such a sort is best illustrated in an example. To first sort by Self and then by the Process/Thread/Function name, click twice on the Self column header, and then shift-click on the Process/Thread/Function Name header. Your Call Paths view now looks like the one pictured:
Sorting in the Call Paths view works differently than in the other report types. You can still click various columns to add sort criteria and change the direction of the sorts, but the sort criteria does not break the integrity of the call paths so the hierarchy of the call paths is not rearranged. The order in which the children of a particular function appear depends on the sort criteria.
The sort triangles show the direction of sort for each field, and the dots in the lower right of the column headers indicate ordering. In this case, Self has one dot, indicating that it is the primary sort criteria, and Process/Thread/Function Name has two dots because it is the secondary sort criteria.
If an element is selected in the table, a re-sort attempts to keep the selected element in view.