The TAU portable profiling library  is used to build the performance callstack view. The library features the ability to capture performance data for C++ function, method, basic block, and statement execution, as well as template instantiation. It also supports the definition of profiling groups for organizing and controlling instrumentation. The performance callstack contains the TAU profiling data for those functions in the calling stack. From the profiling data collected, TAU's profile analysis procedures can then generate a wealth of performance information for the user. It can show the exclusive and inclusive time spent in each function with nanosecond resolution. For templated entities, it shows the breakup of time spent for each instantiation. Other data includes the number of times each function was called, the number of profiled functions each function invoked, and the mean inclusive time per call. Time information can also be displayed relative to nodes, contexts, and threads . All of this analysis is also available to the user of the performance callstack view.