Projects / Zoom Profiler

Zoom Profiler

Zoom is a low-overhead graphical and command line profiler for Linux. Profiles are system-wide, precise down to the instruction level, and capture complete backtraces of C/C++/ObjC/Fortran/Assembly code. This lets you see exactly where time was spent, what code was running (user or kernel), and how that code was called. Drill down into a specific symbol, and Zoom shows source and assembly annotated with general and processor-specific tuning advice. It saves profiles as a single, self-contained session file that can be emailed or attached to bug reports. This lets you share what you find with colleagues or archive it for later review. Zoom also supports remote network profiling and scripting, making it ideal for embedded or server systems and automated workflows.

Operating Systems

Recent releases

  •  05 Aug 2013 17:06

    Release Notes: This release added the ability to view sample count/time and percentage simultaneously, added an option to group samples by process name rather than PID, changed the default hot key for starting and stopping profiling to Shift-F1, added an option to install to a custom path on Linux, removed creation of a .debug folder when using the perf driver, fixed the perf driver on Linux kernel 3.9, and fixed monitoring of exited processes on Linux kernel 3.7 and later. There were also user interface and performance improvements.

    •  28 Jan 2013 16:27

      Release Notes: This release adds minor improvements to x86 code analysis and fixes identification of Intel Ivy Bridge processors. It also adds support for Intel Haswell, Intel Atom (Cloverview), and AMD Famiy 16h (Jaguar) processors. An issue with automatic process/thread selection when filtering is enabled has also been fixed.

      •  24 Dec 2012 16:00

        Release Notes: This releases fixes the option to disable gathering kernel symbols on small systems. It also includes several user interface and performance enhancements.

        •  24 Oct 2012 02:25

          Release Notes: Profiling of Mac OS X systems has been added, including Time Profile (system-wide), Thread Time Profile, and Static Analysis of Mach-O files. Profile data can now be filtered by thread or process. Code Browsers can now load a different source file than was discovered automatically. Bookmark annotations can be added to the Timeline to label points of interests in a profile. x86 system instructions have been added to the integrated instruction reference. Support for Linux 3.5 and later kernels has been added. Power management can now be temporarily disabled during profiling on all kernels.

          •  05 Jul 2012 21:51

            Release Notes: This release adds x86 instruction help for AVX, FMA, XOP, and BMI. Selection of target processes with very large amounts of debugging information has been fixed. Westmere EX Xeon processors are now correctly identified. The inability to launch Zoom on systems with misconfigured locales has been fixed, as well as an issue with unreadable links in /tmp. A variety of user interface and performance improvements are also included.

            Recent comments

            27 Mar 2009 17:32 fredware

            Zoom is part of my development environment as much as my compiler. It's easy to install and use on all of my Linux distros. Zoom goes way beyond gprof, oprofile, or sysprof because it has a code view (source and asm) that shows you exactly what's going on down to the line of code.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.