Zoom, the system-wide profiler for Linux and Mac OS X, increases programmer productivity and saves money, time and energy. Use Zoom to profile your software and to optimize your code and system performance today. Zoom’s callstack samples and trace data show you where time is being spent with very little overhead and no need to modify source code.
The Profile Browser shows you exactly what code was executing during a profile. Navigate the call graph top-down (tree), bottom-up (leaf) or hybrid (butterfly). Drill down into the performance of any symbol included in the profile by opening a Code Browser.
The Code Browser highlights source code and disassembly according to their importance in the profile. Zoom analyzes each line of code to point out performance problems and offer solutions. The result is an immediate understanding of which lines of code dominate performance and are the best candidates for further optimization.
The Timeline Browser shows you the behavior of processes and multi-threaded code over time. System calls and other performance events are displayed on the timeline to help you understand how code interacts with the system.
Static analysis inspects the complete contents of a file for potential performance issues. Learn precisely what is in a binary and why. Get optimization advice for any symbol in a file.
Local and Network Profiling
The Zoom GUI and CLI can run on the same machine. In this mode, the Zoom CLI starts automatically and runs in the background. The Zoom GUI can also profile another machine over the network. In this mode, the Zoom CLI starts in server mode on the target, and the Zoom GUI attaches to the target.
Zoom works with the following languages:
• Other compiled languages
To correlate source code to samples, Zoom requires code to be compiled with DWARF debug information. For most compilers, pass in the “-g” flag to generate this information.
Zoom can collect profiles using three different drivers: perf, oprofile and rrprofile.
The perf driver supports all Zoom profiling modes and can be used with Linux kernel 2.6.38 or later. Partial functionality is available for kernels 2.6.34 through 2.6.37 or on Red Hat Enterprise Linux / CentOS 6 with kernel 2.6.32.
The hardware supported by the perf and oprofile drivers depends on the Linux kernel version.
The hardware supported by the rrprofile driver:
• Intel Core 2, Core i3/i5/i7, Xeon
• Intel Atom, Core, Pentium M, Pentium 4
• AMD Bulldozer
• AMD Athlon, Athlon64, Athlon II
• AMD Phenom, Phenom II
The oprofile and rrprofile drivers do not support scheduler or system call tracing.
Zoom works with these distributions:
• Red Hat Enterprise Linux / CentOS
• SUSE Linux Enterprise
Zoom can be installed on other distributions – refer to Install/Manual Overrride in the release notes. Basic functionality via oprofile kernel modules is available for unsupported kernel releases. For questions or assistance, please contact us.
Mac OS X Requirements
Zoom can collect profiles on any 64-bit capable Intel Macintosh.
Scheduler and system call tracing are not yet supported on Mac OS X.
Zoom works on Mac OS X 10.9 (Mavericks) or 10.8 (Mountain Lion).