Skip to content

Releases: SAP/async-profiler

Maintenance release

06 Dec 15:22
Compare
Choose a tag to compare

v1.8.3

Improvements

  • libasyncProfiler.dylib symlink on macOS

Bug fixes

  • Fixed possible deadlock on non-HotSpot JVMs
  • Gracefully stop profiler when terminating JVM
  • Fixed GetStackTrace problem after RedefineClasses

Maintenance release

06 Dec 15:22
Compare
Choose a tag to compare

v1.8.2

Improvements

  • AArch64 build is now provided out of the box
  • Compatibility with JDK 15 and JDK 16

Bug fixes

  • More careful native stack walking in wall-clock mode
  • resume command is not compatible with JFR format
  • Wrong allocation sizes on JDK 8u262

Maintenance release

06 Dec 15:21
Compare
Choose a tag to compare

v1.8.1

Improvements

  • Possibility to specify application name instead of pid (contributed by @yuzawa-san)

Bug fixes

  • Fixed long attach time and slow class loading on JDK 8
  • UnsatisfiedLinkError during Java method profiling
  • Avoid reading /proc/kallsyms when --all-user is specified

Converters

06 Dec 15:21
Compare
Choose a tag to compare

v1.8

Features

  • Converters between different output formats:
    • JFR -> nflx (FlameScope)
    • Collapsed stacks -> HTML 5 Flame Graph

Improvements

  • profiler.sh no longer requires bash (contributed by @cfstras)
  • Fixed long attach time and slow class loading on JDK 8
  • Fixed deadlocks in wall-clock profiling mode
  • Per-thread reverse Flame Graph and Call Tree
  • ARM build now works with ARM and THUMB flavors of JDK

Changes

  • Release package is extracted into a separate folder

LBR call stack support

06 Dec 15:20
Compare
Choose a tag to compare

v1.7.1

Features

  • LBR call stack support (available since Haswell)

Improvements

  • --filter to profile only specified thread IDs in wall-clock mode
  • --safe-mode to disable selected stack recovery techniques

Method invocation profiling. Filters

06 Dec 15:19
Compare
Choose a tag to compare

v1.7

Features

  • Profile invocations of arbitrary Java methods
  • Filter stack traces by the given name pattern
  • Java API to filter monitored threads
  • --cstack/--no-cstack option

Improvements

  • Thread names and Java thread IDs in JFR output
  • Wall clock profiler distinguishes RUNNABLE vs. SLEEPING threads
  • Stable profiling interval in wall clock mode
  • C++ function names as events, e.g. -e VMThread::execute
  • check command to test event availability
  • Allow shading of AsyncProfiler API
  • Enable CPU profiling on WSL
  • Enable allocation profiling on Zing
  • Reduce the amount of unknown_Java samples

Usability and reliability improvements

06 Dec 15:19
Compare
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
Compare
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
Compare
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
Compare
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