IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Eclipse technology  >  

Visual Performance Analyzer

An Eclipse-based visual performance toolkit.


Date Posted: September 14, 2006
OverviewRequirements Download FAQs Forum Reviews

Update: January 16, 2008

Version 6.1: new views in Control Flow Analyzer; enhanced view synchronization between Code Analyzer and Profile Analyzer; Code Analyzer support for remote execution by SSH to get profiling file.

What is Visual Performance Analyzer?

Visual Performance Analyzer (VPA) is an Eclipse-based performance visualization toolkit. It consists of five major components: Profile Analyzer, Code Analyzer, Pipeline Analyzer, Counter Analyzer, Trace Analyzer, and Control Flow Analyzer.

Profile Analyzer provides a powerful set of graphical and text-based views that allow users to narrow down performance problems to a particular process, thread, module, symbol, offset, instruction, or source line. Profile Analyzer supports time-based system profiles (Tprofs) collected from a number of IBM® platforms and the Linux® profile tool oprofile 0.9.3.

Code Analyzer examines executable files and displays detailed information about functions, basic blocks, and assembly instructions. It is built on top of FDPR-Pro (Feedback Directed Program Restructuring) technology and allows adding of FDPR-Pro and Tprof profile information. (The Linux version of FDPR-Pro is available here at alphaWorks.) Code Analyzer is able to show statistics; navigate disassembled instructions; and display performance comments, instruction grouping information, and map instructions back to source code.

Pipeline Analyzer is a port of the IBM Performance Simulator for Linux on POWER™, another alphaWorks technology. Pipeline joins the VPA toolkit to provide VPA users with the means of examining how code is executed on various IBM POWER processors. Pipeline Analyzer displays the pipeline execution of instruction traces generated by a POWER series processor. It does so by providing a scroll view and a resource view of the instruction execution.

Counter Analyzer accepts hardware performance data from collection tools such as CPC or HPMCOUNT. The data is provided as XML and is parsed by this plug-in in order to allow visualizing and analysis through CPI breakdown models. The data can be saved in the embedded database for later viewing, or it can be exported to a CSV file for inclusion in a spreadsheet.

Trace Analyzer visualizes Cell Broadband Engine™ traces containing information such as DMA communication, locking and unlocking activities, mailbox messages, etc. Trace Analyzer shows this data organized by core along a common timeline. Extra details are available for each kind of event: for example, lock identifier for lock operations, accessed address for DMA transfers, etc.

Control Flow Analyzer is a tool that analyzes call trace data collected by tools such as Jprof, which is part of Performance Inspector. The call trace data contains information about each method call, such as how much time is spent in every invocation and who calls whom. Control Flow Analyzer provides two major ways of visualizing the call trace data: a graph of the execution flow and and a set of tables displaying the calling tree.

This toolkit runs on Windows®, AIX®, and Linux (see Requirements section for details).

How does it work?

Profile Analyzer parses system profiles into an internal profiling data model that supports the profile hierarchy, offset locations, tick counts, CPU counter data, source line information, and disassembly. The plug-in then displays this data model, using various Eclipse views. The system profiles are those produced by Performance Inspector, AIX Tprof, and Linux oprofile. However, Visual Performance Analyzer can be extended to support almost any platform by converting a system profile to an XML schema that it understands.

CodeAnalyzer is able to read profiling information generated by AIX Tprof or FDPR-Pro performance tools. It reads in executable files and shared libraries and analyzes them using FDPR-Pro. FDPR-Pro is a post-link analyzer and performance optimization tool that can perform accurate static and dynamic analysis of executable files.

Pipeline Analyzer reads the .pipe and .config input files that are produced by the IBM Performance Simulator for Linux on POWER. An instruction trace is first collected and analyzed by a processor model. The two output files are produced for viewing with either the Performance Simulator or Visual Performance Analyzer.

Counter Analyzer reads the XML output from hardware data collection tools. The XML is parsed and then displayed or graphed for viewing. If a CPI breakdown model is available, the data can be broken down into individual components and viewed in the CPI tab. The CPI breakdown allows the user to view where the workload is spending its processing cycles.

Trace Analyzer reads the trace files generated by the Performance Debugging Tool for Cell Broadband Engine and displays time-based graphical visualization of the program execution, as well as a list of trace contents and the event details for selection.

Control Flow Analyzer reads call trace data files and displays execution flow graphs and call tree tables in order to help users analyze when and where method invocations happen and how long they run.

For further information, please see the VPA User Guide.


About the technology author(s):
Visual Performance Analyzer was developed by several IBM teams. Profile Analyzer was developed by the IBM Toronto JIT compiler development team and the China Development Lab. The Code Analyzer and Trace Analyzer components were added by the performance analysis and optimization technology team at the IBM Haifa research center. The Pipeline Analyzer component was developed by the IBM Austin Hardware Performance Team and the China Development Lab. The Counter Analyzer and Control Flow Analyzer components were developed by the IBM China Development Lab.


Cell Broadband Engine and Cell/B.E. are trademarks of Sony Computer Entertainment, Inc., in the United States, other countries, or both and are used under license therefrom.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
IBM, POWER, and AIX are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.

View screenshots:
Dynamic analysis in Code Analyzer

Download now Download now

Related technologies

For platform(s):
AIX, Java, Linux, MVS, Microsoft Windows NT Server, OS/390, S/390, Win32, Windows, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional, Windows 2000 Server, Windows NT, Windows NT 4.0, Windows NT 4.0 (SP 5), Windows NT SP6, Windows NT SP6a, z/OS, zSeries

For topics:
AIX, analysis, Cell Broadband Engine Architecture (CBEA), Eclipse, Java technology, linux, Parsers, performance, Power Architecture, trace, visualization, XML


 

    About IBM Privacy Contact