Skip to content

Releases: SAP/async-profiler

Usability and reliability improvements

06 Dec 15:19

Choose a tag to compare

v1.6

Features

  • Pause/resume profiling
  • Allocation profiling support for JDK 12, 13 (contributed by @rraptorr)

Improvements

  • Include all AsyncGetCallTrace failures in the profile
  • Parse symbols of JNI libraries loaded in runtime
  • The agent autodetects output format by the file extension
  • Output file name patterns: %p and %t
  • -g option to print method signatures
  • -j can increase the maximum Java stack depth
  • Allocaton sampling rate can be adjusted with -i
  • Improved reliability on macOS

Changes

  • -f file names are now relative to the current shell directory

Wall-clock and timer-based profiling

06 Dec 15:18

Choose a tag to compare

v1.5

Features

  • Wall-clock profiler: -e wall
  • -e itimer mode for systems that do not support perf_events
  • Native stack traces on macOS
  • Support for Zing runtime, except allocation profiling

Improvements

  • --all-user option to allow profiling with restricted
    perf_event_paranoid (contributed by @jpbempel)
  • -a option to annotate method names
  • Improved attach to containerized and chroot'ed JVMs
  • Native function profiling now accepts non-public symbols
  • Better mapping of Java thread names (contributed by @KirillTim)

Changes

  • Changed default profiling engine on macOS
  • Fixed the order of stack frames in JFR format

Tree view and JFR compatible output

06 Dec 15:18

Choose a tag to compare

v1.4

Features

  • Interactive Call tree and Backtrace tree in HTML format (contributed by @rpulle)
  • Experimental support for Java Flight Recorder (JFR) compatible output

Improvements

  • Added units: ms, us, s and multipliers: K, M, G for interval argument
  • API and command-line option -v for profiler version
  • Allow profiling containerized JVMs on older kernels

Changes

  • Default CPU sampling interval reduced to 10 ms
  • Changed the text format of flat profile

Native functions profiling and JDK 10 support

06 Dec 15:03

Choose a tag to compare

v1.3

Features

  • Profiling of native functions, e.g. malloc

Improvements

  • JDK 9, 10, 11 support for heap profiling with accurate stack traces
  • root can now profile Java processes of any user
  • -j option for limiting Java stack depth

Built-in SVG generator

06 Dec 14:58

Choose a tag to compare

v1.2

Features

  • Produce SVG files out of the box; flamegraph.pl is no longer needed
  • Profile ReentrantLock contention
  • Java API

Improvements

  • Allocation and Lock profiler now works on JDK 7, too
  • Faster dumping of results

Changes

  • total counter of allocation profiler now measures heap pressure (like JMC)

Perf Events support

06 Dec 14:21

Choose a tag to compare

v1.1

Features

  • Linux Perf Events profiling: CPU cycles, cache misses, branch misses, page faults, context switches etc.
  • Kernel tracepoints support
  • Contended monitor (aka intrinsic lock) profiling
  • Individual thread profiles

Improvements

  • Profiler can engage at JVM start and automatically dump results on exit
  • list command-line option to list supported events
  • Automatically find target process ID with jps tool
  • An option to include counter value in collapsed output
  • Friendly class names in allocation profile
  • Split allocations in new TLAB vs. outside TLAB

Changes

  • Replaced -m modes with -e events
  • Interval changed from int to long

First binary release

06 Dec 14:16

Choose a tag to compare

v1.0

The first release of accurate CPU and Allocation profiler for Java.

Features:

  • Flamegraph compatible output
  • macOS port
  • Linux containers support