YourKit, LLC is glad to announce immediate availability of YourKit Java Profiler 12
released on December 3, 2012.

It can be downloaded at



  - Linux on ARM

  - Linux on PPC


  - Tracing overhead significantly reduced: profiled applications run
    up to 10%-50% faster than with the previous profiler version, due to
    new adaptive tracing mode and optimizations

  - Tracing accuracy increased

  - Reworked tracing and sampling settings


  - New feature: "Class tree" view which is similar to "Class list", but shows classes
    grouped by package

  - New feature: memory views such as Class list allow selection of multiple rows

  - "Duplicate strings" inspection: the results are shown under a new grouping root node
    which presents the total waste in all the duplicate strings

  - Optimization: snapshots with big primitive arrays are opened faster

  - Optimization: performance of "Incoming References" view has been dramatically improved

  - Improved calculation of exact retained size in "Class list" and similar views:
    more items are processed per click if calculation speed allows

  - Improvement: available CPU cores are used for parallel computations in:
      - Class list
      - Class tree
      - Generations
      - Reachability scopes
      - Class loaders
      - Web applications
      - Object ages

  - Improvement: "Calculate exact retained sizes" action uses available CPU cores
    to perform calculation in parallel

  - Optimization: allocation recording overhead has been reduced for multithreaded
    applications: code being profiled runs up to 30% faster when each 10th object
    is recorded (the default setting), and up to 70% faster when each 100th object
    is recorded, comparing with the previous version

  - Improvement: web application context path (URL) is now shown in addition to the name

  - Web applications: added support of Jetty (versions 6, 7, 8)

  - Class instance count telemetry: scalability improved


  - CPU usage telemetry: kernel CPU time is shown as a separate curve,
    in addition to the main user + kernel CPU time graph

  - Graph rendering has been optimized, making UI much more responsive, especially
    when using bigger scales


  - New feature: ability to clear tables.
    Get rid of older events you are not interested in anymore,
    or give space for new events if the table capacity limit has been reached.

  - "Probes" tab layout has been changed to gives more vertical space for browsing
    event lists, and make the UI more consistent

  - Class loading probe can be optionally disabled


  - Eclipse, IntelliJ IDEA, NetBeans 7.0 and newer plugin
    automatically detects 32-bit and 64-bit JVMs, instead of relying on user input

  - Eclipse: Maven run configurations supported in Eclipse 3.7 and newer

  - IntelliJ IDEA 12 supported

  - NetBeans 7.3 supported


  - J2EE integration wizard: added Jetty 6 and newer support


  - Improvement: the left vertical tab group avoids scroller if many tabs are opened

  - Added an quick way to switch between applying and not applying filters in UI

  - Added support of high-contrast color schemes

  - Call tree and back traces views: added popup menu item to expand selected node
    down to 5 levels, as a supplement to the existing item which expands the node fully


  - Export with command line: class list is exported for performance snapshots too
    (as seen in Memory tab | Class list)

  - Agent: log file name now contains the session name to better separate logs from
    different applications

  - Agent: added an option to store logs from several runs of the same application
    in a series of log files named <session name>.<running number>.log
    This mode can be useful when profiling applications such as servers,
    when having a united log is better than having a separate log for each server start.

  - Agent: Groovy 2.0 supported

  - Other bug fixes and improvements

See complete list of changes at

Best regards,

Vladimir Kondratyev

"Don't get lost in data, get information!"