The Tree provider traces threads through an in memory call tree. As methods are entered and exited, nodes of this tree are updated with statistics. The result is a tree that indicates what paths are taken through the code, and the cost of each brach of the path.