Zoom Release Notes

What's New!

Zoom 3.1.1 - April 13, 2013

  •  Fix packaging bug that prevented Thread Time profile from working
  •  Fix installation issues with customized umask
  •  User interface and performance improvements

Table of Contents

1. Requirements
2. Install
3. Usage
4. Uninstall
5. Maintenance
6. Limitations
7. License
8. Support
9. History

1. Requirements

A. General

a. Languages

Zoom can profile code written in the following languages:
  • C/C++
  • Fortran
  • Assembly
  • Other compiled languages

b. Debug Information

In order 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.
 
GCC and other compilers for C, C++ and Fortran generate DWARF information that has been tested with Zoom.

B. Mac OS X

Mac OS X 10.8 (Mountain Lion) and 10.7 (Lion) are supported. Zoom can collect profiles on any 64-bit capable Intel Macintosh.

Zoom for Mac OS X supports the Time Profile and Thread Time Profile configurations. It does not currently support performance event sampling (e.g. Cache Miss Profile, Instruction Profile) or tracing (e.g. Scheduler Trace, System Call Trace).

C. Windows

Windows 7, Windows Vista and Windows XP with SP2 are supported. Please be aware that the Windows version of Zoom does not collect profiles on the local machine. It is intended for connecting over the network to Linux or Mac OS X machines running Zoom. For example, to profile a headless server or embedded ARM Linux from a Windows host. It can also be used to view saved profiles.

D. Linux

Red Hat, Fedora, SUSE Linux, openSUSE, Ubuntu, and Debian with kernel 2.6.15 or later are supported. RHEL4 with kernel 2.6.9 is also supported. Installations on other distributions will also likely work. If you encounter problems refer to "Install/Manual Override or "Install/BusyBox".
 
On Linux the kernel's performance counter subsystem (perf) or oprofile driver are used for profiling. It is also possible to use the RotateRight profiling drivers (rrprofile) on systems where perf is unavailable.

a. C/C++ Runtime

Zoom and the Zoom installer require glibc-2.4 (libstdc.so.6) or later. This is typically installed by default on most Linux distributions.
  • openSUSE / SUSE Linux Enterprise
     
    # zypper install libstdc++33

b. Profiling Drivers

Zoom requires a driver or kernel support to record system-wide profiling information. There are several drivers supported:

perf

Also called the Linux performance counters subsystem, perf is the preferred driver for Zoom when running on Linux kernel 2.6.38 or later. Partial perf functionality is available for kernels 2.6.34 through 2.6.37 and Red Hat Enterprise Linux / Cent OS 6 with Linux kernel 2.6.32.
 
The perf driver supports all of the types of profiling and tracing used by Zoom. In order for Zoom to use perf, the perf package should be installed on your Linux installation.
  • Fedora / Red Hat Enterprise Linux
     
    # yum install perf
  • openSUSE / SUSE Linux Enterprise
     
    # zypper install perf
  • Ubuntu / Debian
     
    # apt-get update
    # apt-get install linux-tools

oprofile

The most widely supported driver, oprofile offers basic time and event profiling. In order for Zoom to use oprofile, the oprofile package should be installed on your Linux installation.
  • Fedora / Red Hat Enterprise Linux
     
    # yum install oprofile
  • openSUSE / SUSE Linux Enterprise
     
    # zypper install oprofile
  • Ubuntu / Debian
     
    # apt-get update
    # apt-get install oprofile

rrprofile

This is a customized version of oprofile that offers additional capabilities on supported hardware. The RotateRight profiling kernel modules for Linux work with:
  • 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
To use rrprofile, you must have the kernel headers package installed and compile the driver from source (included). On older systems without perf, it is recommended that the RotateRight profiling driver (rrprofile) be used where supported.
Like oprofile, rrprofile does not support performance event tracing configurations (e.g. Scheduler Trace, System Call Trace).

c. Kernel Headers

Compiling the Rotateright kernel modules requires the Linux kernel headers.
  • Fedora / Red Hat Enterprise Linux

    On Fedora with the default kernel install the kernel-devel package:
     
    # yum install kernel-devel

    On Fedora with the PAE kernel install the kernel-PAE package:
     
    # yum install kernel-PAE-devel
  • openSUSE / SUSE Linux Enterprise
     
    # zypper install kernel-source
  • Ubuntu / Debian
    Install the linux-headers package:
     
    # apt-get install linux-headers-`uname -r`

d. DebugInfo Packages

Zoom supports the "debuginfo" packages found in Red Hat and SUSE Linux distributions and the "dbg" and "dbgsym" packages found in Ubuntu and Debian Linux distributions.
 
For information on installing debug information packages:

2. Install

A. General

a. License File Path

The default license path is ${HOME}/.zoom/license/zoom_license.txt. Set the ZOOM_LICENSE_FILE_PATH environment variable to specify a custom location for your license file:

$ export ZOOM_LICENSE_FILE_PATH=${HOME}/zoom_license.txt
$ Zoom

b. Limiting Memory Usage

The Zoom UI utilizes a Java virtual machine. By default the Zoom UI scales the maximum heap memory the JVM can use based on the total system memory. Set the ZOOM_MAX_JAVA_HEAP_MB environment variable to specify a custom limit:

$ export ZOOM_MAX_JAVA_HEAP_MB=4096
$ Zoom

c. Limiting Stack Usage

To prevent problems with symbol resolution, Zoom sets its maximum stack size to be unlimited (equivalent to ulimit -s unlimited). This behavior can be disabled by setting the ZOOM_USE_DEFAULT_STACK_LIMIT environment variable:

$ export ZOOM_USE_DEFAULT_STACK_LIMIT=1
$ Zoom

B. Mac OS X

Open the Zoom disk image and double-click on the Zoom.pkg installer package. Follow the on-screen instructions to install Zoom to /Applications.

C. Windows

Double-click on the Zoom installer executable and follow the on-screen instructions to install Zoom. You will have the option to create a desktop link to Zoom at the end of the installation.

D. Linux

a. GUI

To launch the graphical user interface (GUI) installer,
 
$ ./install.sh

b. Command Line

If the installer does not fallback to the text-based installer:
 
$ ./install.sh --text

Please report any errors you see in the terminal and send the file "/var/log/Zoom-install.log" to support@rotateright.com.

c. Manual Override

Please follow the steps below if you are unable to use the GUI or command-line installer.
  1. Become root user in a bash shell for all operations:
     
    $ sudo /bin/bash

  2. Unpack the Zoom archive:
     
    # tar -xvzf <archive>.tar.gz
    # cd <archive>
    # mkdir -p /opt/rotateright
    # tar xf .rotateright.tar -C /opt/rotateright

  3. Unpack the jar archives:
     
    # cd /opt/rotateright/Zoom/plugins
    # find . | grep -E "\.jar.pack$" | while read i; do dir_name=`dirname $i` base_name_pack=`basename $i` base_name_jar=${base_name_pack%.pack} unpack200 ${dir_name}/${base_name_pack} ${dir_name}/${base_name_jar} rm -f ${dir_name}/${base_name_pack} done

  4. Compile and install the rrnotify kernel module:
     
    # cd /opt/rotateright/Zoom/setup/kmod
    # tar -xvf rrnotify.tar
    # pushd rrnotify
    # make
    # ./install.sh

    # popd
     
    You may need to edit the Makefile, the install.sh script, and the kernel module script (common/rrnotify-generic) for your Linux distribution.

  5. Optional (if perf is not available) - compile and install the rrprofile kernel module:
     
    # cd /opt/rotateright/Zoom/setup/kmod
    # tar -xvf rrprofile.tar

    # pushd rrprofile
    # make
    # ./install.sh
    # popd
     
    You may need to edit the Makefile, the install.sh script, and the kernel module script (common/rrprofile-generic) for your Linux distribution.

  6. If the RotateRight kernel modules do not compile or support your hardware, install the oprofile script:
     
    # cd /opt/rotateright/Zoom/setup/kmod
    # tar -xvf oprofile.tar
    # pushd oprofile
    # ./install.sh
    # popd

d. BusyBox

Please follow the steps below to install ZoomCLI on a system with the BusyBox environment:
 
Pre-requisites:
  •    You must be the root user on the target (BusyBox) system.
  •    Install the bash shell on the target system.
  1. Ensure that the target system has oprofile support compiled in:

    # cat /proc/filesystems | grep oprofilefs
    nodev    oprofilefs

  2. Unpack and setup Zoom on the target system:

    # tar -xvzf <archive>.tar.gz
    # ./install.sh

3. Usage

A. General

To launch the GUI Zoom profiler, double-click its application icon.

To launch the command-line interface (CLI) zoom profiler, type 'zoom' on a terminal command-line:
 
$ zoom
 
After profiling, a "profile_*.zoom" file will be written to the current working directory. This file is an archival representation of the profile which can be opened by the Zoom GUI application.

For additional information please refer to to the Zoom Quick Start Guide.

B. Mac OS X

$ open /Applications/Zoom.app

C. Windows

> C:\Program Files (x86)\RotateRight\Zoom\Zoom.exe 

D. Linux

$ Zoom

4. Uninstall

A. Mac OS X

a. Command-Line

To launch the text-based uninstaller:
 
$ /Library/RotateRight/uninstallZoom.sh

B. Windows

a. GUI

Use the "Uninstall a Program" tool in the Control Panel.

C. Linux

a. GUI

To launch the GUI uninstaller on Linux, type the following on a terminal command-line:
 
$ /opt/rotateright/uninstallZoom.sh

b. Command-Line

Please use the command below if the uninstaller does not fallback to the text-based installer:
 
$ /opt/rotateright/uninstallZoom.sh --text

c. Manual Override

To manually uninstall Zoom:
  1. Become root user in a bash shell for all operations.
    $ sudo /bin/bash

  2. Unpack the Zoom archive and export the current directory.
    # tar -xvzf <archive>.tar.gz
    # tar -xvf .install.tar

  3. Remove Zoom.
    # ./setup.sh remove

  4. Uninstall the kernel modules
    # ./kmod/uninstall_driver.sh rrprofile
    # ./kmod/uninstall_driver.sh rrnotify
    # ./kmod/uninstall_driver.sh oprofile

5. Maintenance

A. Linux

a. Kernel Updates

In the event of a kernel upgrade, you will need to recompile the RotateRight profiling driver (rrprofile):
 
$ sudo /opt/rotateright/Zoom/setup/install_driver.sh

6. Limitations

A. General

a. Security

On Linux and Mac OS X the zoom binary has the setuid bit set because Zoom is a system-wide profiler and may require access to system-owned files.

b. Virtualization

Under a virtual machine, Zoom will profile with the "OS Timer" trigger. Hardware counters are not available because they are not virtualized.

c. Frame Pointers

Assume function A() in a.out calls function B() in executable a.out which in turn calls function C in library libfoo.so. If libfoo.so omits frame pointers, Zoom will show that A() called C() because the stack frame pointer and return address are not updated inside library libfoo.so.

If the library libfoo.so is compiled with "-fno-omit-frame-pointer", the frame pointer and return address will be correctly updated and the expected call sequence will be shown in Zoom.

B. Linux

a. Zoom x86 (32-bit) on Linux x86-64 (64-bit)

Running Zoom x86 (32-bit) on Linux x86-64 (64-bit) is not supported.

b. libvirt Virtualization Toolkit

Zoom remote networking is incompatible with the libvirt toolkit. Disable the libvirtd daemon before using Zoom.

c. Zoom on Angstrom Linux

The Zoom installer requires that bash be installed:
 
$ opkg install bash
 
Also, Zoom requires libsegfault:
 
$ opkg install libsegfault

d. Crash with openSUSE Linux 10.3

On a fresh openSUSE 10.3 install, bug-buddy must be removed or updated.
 
To remove:
 
$ sudo zypper rm bug-buddy
 
To update, enable online updating with YaST and type:
 
$ sudo zypper install bug-buddy
 
Reference: https://bugzilla.novell.com/show_bug.cgi?id=331618

e. GLib Warnings with Ubuntu 9.10, Fedora 12 and Debian Squeeze Linux

This is a known issue and should not affect Zoom.

Reference:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/501670
https://bugzilla.redhat.com/show_bug.cgi?id=546848
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559407

7. License

Refer to the Zoom EULA.

8. Support

For sales and support, please contact support@rotateright.com.

9. History

Zoom 3.1.0 - March 15, 2013

  •  Added smart calltree expansion and focus
  •  Improved calltree expansion to operate on 'unknown' symbols
  •  Improved recovery of symbol ranges on stripped binaries
  •  Improved sample processing performance
  •  Fixed error when truncating C++ nested template names
  •  User interface and performance improvements

Zoom 3.0.2 - January 22, 2013

  •  Fixed identification of Intel Ivy Bridge processors
  •  Fixed automatic process / thread selection when filtering is enabled
  •  Improved x86 code analysis
  •  Added support for Intel Haswell processors
  •  Added support for Intel Atom Cloverview processors
  •  Added support for AMD Family 16h (Jaguar) processors

Zoom 3.0.1 - December 12, 2012 

  •  Fixed option to disable gathering kernel symbols on small systems
  •  User interface and performance enhancements

Zoom 3.0.0 - October 13, 2012 

  •  Support for Zoom profiling and analysis on Mac OS X
    • Time Profile (system-wide)
    • Thread Time Profile
    • Static analysis of Mach-O files
  •  Added filtering of profile data by thread / process
  •  Added option to choose a different source file in the Code Browser
  •  Added ability to annotate Timeline data with bookmarks
  •  Added system instructions to x86 instruction help
  •  Added preference for default profile scope (system, top process, top thread, main thread)
  •  Fixed compilation of rrprofile driver with Linux 3.5 kernel
  •  Fixed auto-selection of previous target process
  •  Fixed option to disable power management and frequency scaling during profiling on later kernels
  •  Fixed installation of debuginfo packages on CentOS 6 / RHEL 6
  •  User interface and performance improvements 

Zoom 2.2.2 - July 17, 2012 

  •  Fixed compilation of rrprofile driver with Linux 3.4 kernel
  •  Fixed parsing of perf driver profile data on Linux 3.4 kernel
  •  Switched oprofile driver to default to software timer trigger 

Zoom 2.2.1 - July 4, 2012 

  •  Added x86 instruction help for AVX, FMA, XOP and BMI
  •  Fixed selection of target processes with large amounts of debug info
  •  Fixed identification of Westmere EX Xeon processors
  •  Fixed inability to launch on systems with misconfigured locale
  •  Fixed error accessing unreadable files in /tmp
  •  User interface and performance improvements

Zoom 2.2.0 - May 17, 2012

  •  Added profile time filtering (crop profile data to range of interest)
  •  Added ability to find text in both visible and hidden call tree entries
  •  Added support for Intel 'Ivy Bridge' CPUs 
  •  Added 'perf' driver support for RHEL / CentOS 6.2
  •  Improved support for multiple monitor configurations
  •  Fixed Thread Time profiling on ARM
  •  Fixed Thread Time profiling bug when many threads created
  •  User interface and performance improvements

Zoom 2.1.2 - April 9, 2012

  • Fixed Thread Time profile time stamps
  • Fixed tracking of exited processes and threads
  • Improved zoomscript API example
  • User interface and performance improvements

Zoom 2.1.1 - April 4, 2012

  • Fixed compilation of rrprofile driver with Linux 3.3 kernel
  • Fixed exception when opening Scheduler Trace profiles
  • Fixed installation of debug info on SUSE Linux Enterprise
  • Fixed disassembly of x86 jmp far instruction
  • User interface and performance improvements

Zoom 2.1.0 - March 28, 2012

  •  Added Zoom GUI for Mac OS X and Windows
  •  Added support for perf profiling driver (Linux kernel 2.6.34 or later)
  •  Added thread scheduler and system call trace (requires perf driver)
  •  Added timeline visualization of profile data (beta, requires perf driver)
  •  Added color-by-module in profile views
  •  Added disassembly of AVX, VMX, and SVM instructions (x86)
  •  Added support for AMD Family 15h analysis
  •  Added support for DWARF debugging info generated by gcc 4.6
  •  Enhanced sample analysis and display options
  •  Improved remote profiling reliability and performance
  •  Improved support for oprofile driver
  •  Improved support for ARM platforms

Zoom 2.0.6 - January 25, 2012

  •  Added support for 3.2.0 and later kernels
  •  Performance and stability improvements

Zoom 2.0.5 - September 7, 2011

  • Added support for 3.0.0 kernel

Zoom 2.0.4 - July 27, 2011

  •  Added support for 2.6.39 kernel
  •  Reduced memory usage when viewing large profiles
  •  Fixed exception when performing callstack filtering
  •  Fixed possible zoomscript failure after profiling with zoom CLI
  •  Fixed to disable NMI watchdog when loading oprofile driver
  •  Installer improvements
  •  UI improvements

Zoom 2.0.3 - May 26, 2011

  • Added support for 2.6.38 kernel
  • Fixed ZoomScript control of Zoom GUI on launch
  • Fixed reading of profile buffer on SLES 11
  • Fixed symbol lookup of privileged processes on SLES 11
  • Fixed thread time profile to not record callstacks if disabled
  • Fixed configuration of oprofile driver in timer mode
  • Fixed event list loading on some AMD processors
  • Fixed rrprofile build failure on RHEL 6.1
  • Fixed failure to enable collection of callstacks

Zoom 2.0.2 - April 14, 2011

  • Increased priority of sample buffer processing threads
  • Updated RRZoomScript library documentation and example
  • Fixed gathering of symbols when controlling with ZoomScript API
  • Fixed rrnotify to build on SLES 10.2 (2.6.16 kernel)
  • Fixed loading of rrprofile/rrnotify on SLES 11
  • Fixed installation of debuginfo on OpenSUSE
  • Fixed --verbose 0 to silence all warnings/errors

Zoom 2.0.1 - March 21, 2011

  •  Added support for 2.6.37 kernel
  •  Added ability to set max heap memory for Zoom UI (ZOOM_MAX_JAVA_HEAP_MB)

Zoom 2.0.0 - March 10, 2011

  • Added thread time profiling
    • find wait time due to I/O, lock contention
    • full backtraces without frame pointers
  • Added adaptive sampling - automatic compression of long profile data
  • Added tree and leaf profile visualizations
  • Improved metrics for understanding process and thread utilization
  • Enhanced trace view for easier browsing of trace data
  • Improved support for debug info files
  • Changed to load profiling drivers on Zoom start rather than at boot
  • Improved detection of profiling problems (buffer overflow, etc.)
  • Added ability to configure profile buffer sizes
  • Reduced memory usage
  • Sped up sample processing
  • Fixed cleanup of temporary files
  • Improved user interface

Zoom 1.6.8 - September 30, 2010

  • Added support for AMD Family 11h processors
  • Fixed kernel drivers to compile on older RHEL4.x releases
  • Added ability to set directory for temporary files with the ZOOM_TMPDIR environment variable

Zoom 1.6.7 - September 2, 2010

  • Improved compatibility on RHEL4 for newer Intel processors
  • Fixed kernel drivers to compile on RHEL4
  • Fixed missing event configs in the UI
  • Fixed report bug dialog to be non-modal

Zoom 1.6.6 - April 22, 2010

  • Fixed exception when filtering callstacks
  • Fixed exception when saving profile
  • Added support for Intel Performance Monitoring Architecture
  • Added support for AMD Family 11h processors
  • Improved oprofile compatibility

Zoom 1.6.5 - April 8, 2010

  • Fixed exception in code browser due to unknown callees
  • Fixed symbol trimmer to recognize parameterized class names
  • Fixed code browser to respect tab width
  • Added support for demangling of OpenMP symbols
  • Implemented sort indicators for table and tree columns on RHEL5

Zoom 1.6.4 - March 31, 2010

  • Added support for Intel Westmere-based processors
  • Added option to initialize oprofile in timer interrupt mode
  • Improved detection of processors available for profiling
  • Fixed zoom daemon to capture error text on failure

Zoom 1.6.3 - February 25, 2010

  • Added support for running inside of VirtualBox
  • Added ability to hide self and total columns in hotspot view
  • Fixed to allow installation on unknown Linux distributions
  • Fixed installer to operate from /tmp
  • Fixed installer to check for compatible platform
  • Fixed problem with resolution of vmlinux symbols on some platforms
  • Fixed determination of release name on some Linux distros
  • Improved UI responsiveness for profiles containing many processes
  • Improved zoom daemon support on localhost

Zoom 1.6.2 - January 20, 2010

  • Simplified packaging to use gzip tar file instead of makeself
  • Fixed setup scripts to work with BusyBox
  • Fixed to allow opening the same profile in multiple tabs
  • Fixed to not depend on GNU iconv
  • Fixed license errors when no network available
  • Fixed to allow opening session files without .zoom extension
  • Fixed exceptions due to host name resolution failure
  • Fixed possible duplicated process entries in profile

Zoom 1.6.1 - December 1, 2009

  • Added ability to specify client port and address for remote profiling
  • Added version check when opening a profile
  • Added work-around for GTK 2.18 incompatibility
  • Added support for user space CPUFreq governor
  • Fixed possible hang during sample processing
  • Fixed potential crash when searching for text in symbol lists
  • Fixed bug with virtual machine detection
  • Fixed to allow profiling with SELinux enabled (manual driver load)
  • Fixed driver identification of Intel Core i5/i7 (Lynnfield)

Zoom 1.6.0 - October 19, 2009

  • Added static analysis of executable/library/archive/object files
  • Added display of labels in assembly view of the code browser
  • Added identification of Intel Core i5/i7 (Lynnfield) processors
  • Added auto-selection of OS timer trigger in virtual machine
  • Added ability to select ARM register alias display type (GCC, APCS)
  • Added logic to process inline jump tables in ARM and Thumb code
  • Disabled processor frequency scaling during profiling on ARM
  • Fixed oprofile sample buffer parsing with no explicit cookie switch
  • Fixed potential hang in GUI during sample processing
  • Fixed misaligned memory accesses on ARM
  • Fixed command line zoom to not depend on X11 libraries

Zoom 1.5.1 - September 21, 2009

  • Added support for 2.6.30 kernel
  • Fixed source code browser navigation to caller/callee symbol
  • Fixed several bugs with ARM disassembly

Zoom 1.5.0 - August 31, 2009

  • Added profiling for ARM Linux
  • Added ability to highlight problem src and asm lines in code browser
  • Added command-line profile summary option (--output_text)
  • Added option to not gather kernel / driver symbols
  • Improved code browser navigation
  • Fixed timeout error when profiling for long durations

Zoom 1.4.2 - June 19, 2009

  • Fixed profiling of binaries on remote file systems (e.g. NFS)
  • Fixed zoom (CLI) to print and log warnings by default
  • Fixed driver startup script to display errors on load failure
  • Fixed to show correct (maximum) processor speed in profile properties
  • Improved zoomscript argument checking and error handling

Zoom 1.4.1 - May 19, 2009

  • Added support for custom table/tree selection color
  • Fixed possible crash of CLI app when SIGINT or SIGQUIT is sent
  • Fixed to use real user/group ID while writing to file system
  • Fixed possible exception when finding text in tables

Zoom 1.4.0 - April 28, 2009

  • Added trace view - samples displayed in table form
  • Added source-to-assembly mapping pane in code browser
  • Added 'Focus' operation to filters - center profile on symbol/module
  • Updated kernel modules to work with Linux kernels up to v2.6.29
  • Switched to SOAP as default protocol for remote communication
  • Added ability to install license from 'Help' menu
  • Improved user interface

Zoom 1.3.3 - March 30, 2009

  • Fixed parsing of email address when requesting evaluation
  • Added nominal timing for x86 cmpsb/cmpxchg instructions
  • Added timing adjustment/code warning for x86 lock insts

Zoom 1.3.2 - March 26, 2009

  • Fixed potential crash when duplicate kernel modules are detected
  • Fixed bug related to opening Code Browser on Pentium 4 or Pentium M
  • Fixed potential exception while parsing kernel modules

Zoom 1.3.1 - January 29, 2009

  • Fixed potential crash when kernel module cannot be found
  • Improved x86 processor instruction timing information

Zoom 1.3.0 - January 20, 2009

  • Added support for external debug info files
  • Added ability to show kernel source and assembly
  • Added calculation of symbol ranges when missing symbol information
  • Added optional display of symbol sizes
  • Added user-friendly thread names (based on root symbol name)
  • Added support for Intel Atom and Core i7 processors
  • Added support for VDSO (vsyscall page) symbols
  • Fixed driver to use OS timer mode when perfmon not available
  • Improved code analysis
  • Improved error logging and reporting

Zoom 1.2.3 - November 11, 2008

  • Fixed possible bug when installing remotely
  • Fixed possible crash with unknown display
  • Improved installation process
  • Improved bug reporting

Zoom 1.2.2 - November 4, 2008

  • Added custom driver support for RHEL4 (2.6.9)
  • Added support for PAE kernels on RedHat distributions
  • Improved basic profiling support via oprofile
  • Improved error reporting and documentation
  • Added support for resolving PLT section symbols
  • Improved source file discovery and path resolution
  • Fixed process/thread scope button labels with CPU filtering enabled
  • Added link in /usr/bin for zoomscript
  • Improved symbol truncation to remove parameters before class name
  • Fixed to remove oprofile and rrprofile drivers before installation

Zoom 1.2.1 - September 15, 2008

  • Added basic profiling support for kernels 2.6.9 - 2.6.14
  • Added support for Athlon XP, Pentium III, Pentium M processors
  • Improved source file search
  • Added extended system info to session properties
  • Fixed regression where some kernel symbols were not resolved

Zoom 1.2.0 - August 31, 2008

  • Added smart text truncation of symbol names
  • Improved source file path mapping and search
  • Improved sorting and selection in code browser
  • Added maximize/restore widgets for source and assembly views
  • Added quick sample and address display change via double-click
  • Improved memory handling for samples with large backtraces
  • Added ability to hide symbols below specified sample weight
  • Added new config (+) and delete config (-) buttons
  • Stability and performance fixes

Zoom 1.1.0 - July 25, 2008

  • Added symbol-centric profile view with parent and child tables
  • Added support for "OS Timer" trigger
  • Added ability to use oprofile driver for sampling
  • Improved summary text output
  • Simplified installation
  • Added support for SSSE3, SSE4.1, and SSE4a instructions
  • Stability and performance fixes

Zoom 1.0.2 - June 13, 2008

  • Fixed license wizard to timeout if server cannot be contacted

Zoom 1.0.1 - May 2, 2008

  • Added check for bug buddy 2.20.0 on openSUSE 10.3
  • Fixed tooltip for regular expression input