Skip to main content

Trace Analyzer (TA)


Trace Analyzer is a framework for collecting, analyzing, and visualizing performance data to identify bottlenecks. It works with a variety of performance data sources, such as the Linux tools sar, tcpdump and several SystemTap scripts. Additionally, Trace Analyzer can be extended to work with other data, such as application instrumentation logs.

Trace Analyzer graphically presents the data as one or several charts (both line charts and bar charts are supported), with navigation such as zooming and scrolling synchronized among the charts. This combines the use of a separate chart for each thread or core on a multi-core system, when convenient, with the ability to focus on a certain time interval for all the threads or cores. Thresholds can be visualized, and aggregations such as maximum or average can be shown alongside the original series.

Trace Analyzer also provides other ways to analyze the input data. The data can be browsed record by record, while the selected record's fields can be viewed. The user can also search the data for records with certain properties. A useful addition to the graphical view is a fully configurable statistics view, allowing the user to define and view various aggregations of the trace data, such as the average load of a processor core or the overall time each thread spent on the CPU. This can also serve to quickly test for the presence of performance anti-patterns, such as percentage of packets of suboptimal size transmitted over the network.

Our team also built the Multicore Performance Advisor, (MPA) an expert system that automatically activates the data collection, using novel methods to analyze the results and identify areas that need performance improvements with priorities. It is built for scalability, and supports massively threaded applications.

Trace Analyzer is implemented as an Eclipse plugin and is available for download as part of the Visual Performance Analyzer suite at The tool also supports Linux.

Figure 1. CPU usage by core based on sar data

Figure 2. Statistics of small-size packets by TCP session, based on tcpdump data

Figure 3. Trace Analyzer visualizations of tcpdump data

Figure 4. Trace Analyzer visualizations of tcpdump session on server, colored by duration red=long, blue=short

For more information Contact