TraceAnalyzer: A system for processing performance traces

TraceAnalyzer: A system for processing performance traces
Related tools & artifacts:
Journal Paper: SP&E, March, 2011

The performance of a program often varies significantly over the course of the program's run. Thus, to understand the performance of a program it is valuable to look not just at end-to-end metrics (e.g. total number of cache misses) but also the time-varying performance of the program. Unfortunately, analyzing time-varying performance is both cumbersome and difficult. This paper makes three contributions, all geared toward helping others in working with traces. First, it describes a system, the TraceAnalyzer, designed specifically for working with performance traces; a performance trace captures the time-varying performance of a program run. Second, it describes lessons that we have learned from many years of working with these traces. Finally, it uses a case study to demonstrate how we have used the TraceAnalyzer to understand a performance anomaly.

@article {Diwan10, author = {Diwan, Amer and Hauswirth, Matthias and Mytkowicz, Todd and Sweeney, Peter F.}, title = {TraceAnalyzer: a system for processing performance traces}, journal = {Software: Practice and Experience}, volume = {41}, number = {3}, publisher = {John Wiley & Sons, Ltd.}, issn = {1097-024X}, url = {http://dx.doi.org/10.1002/spe.1000}, doi = {10.1002/spe.1000}, pages = {267--282}, keywords = {performance analysis, traces, data processing, statistics}, year = {2011}, }