Skip to content

Releases: async-profiler/async-profiler

Maintenance release

05 Dec 20:57
1704519
Compare
Choose a tag to compare

v2.5.1

Bug fixes

  • Prevent early unloading of libasyncProfiler.so
  • Read kernel symbols only for perf_events
  • Escape backslashes in flame graphs
  • Avoid duplicate categories in jfrsync mode
  • Fixed stack overflow in RedefineClasses
  • Fixed deadlock when flushing JFR

Improvements

  • Support OpenJDK C++ Interpreter (aka Zero)
  • Allow reading incomplete JFR recordings

macOS/ARM64 port and many JFR improvements

01 Oct 02:24
Compare
Choose a tag to compare

v2.5

Features

  • macOS/ARM64 (aka Apple M1) port
  • PPC64LE port (contributed by @ghaug)
  • Profile low-privileged processes with perf_events (contributed by @Jongy)
  • Raw PMU events; kprobes & uprobes
  • Dump results in the middle of profiling session
  • Chunked JFR; support JFR files larger than 2 GB
  • Integrate async-profiler events with JDK Flight Recordings

Improvements

  • Use RDTSC for JFR timestamps when possible
  • Show line numbers and bci in Flame Graphs
  • jfr2flame can produce Allocation and Lock flame graphs
  • Flame Graph title depends on the event and --total
  • Include profiler logs and native library list in JFR output
  • Lock profiling no longer requires JVM symbols
  • Better container support
  • Native function profiler can count the specified argument
  • An option to group threads by scheduling policy
  • An option to prepend library name to native symbols

Notes

  • macOS build is provided as a fat binary that works both on x86-64 and ARM64
  • 32-bit binaries are no longer shipped. It is still possible to build them from sources
  • Dropped JDK 6 support (may still work though)

Maintenance release

30 Sep 22:22
Compare
Choose a tag to compare

v1.8.7

Bug fixes

  • Workaround for JDK-8173361
  • Backported fix for "Accept timed out" exception

Maintenance release

08 Jul 19:59
Compare
Choose a tag to compare

v1.8.6

Improvements

  • log=none option to suppress warnings about missing JVM symbols
  • Sign macOS binaries

Bug fixes

  • Workaround for JDK-8212160

macOS/AArch64 support

13 Jun 13:13
Compare
Choose a tag to compare
macOS/AArch64 support Pre-release
Pre-release

This is an Early Access release of async-profiler with the native support for Apple silicon.

Maintenance release

05 May 16:19
Compare
Choose a tag to compare

v1.8.5

Improvements

  • Backported JFR to FlameGraph converter

Bug fixes

  • Stricter safemode to avoid stack walking in suspicious cases

Multievent profiling. JFR v2 compatible output

14 Mar 17:23
Compare
Choose a tag to compare

v2.0

Features

  • Profile multiple events together (cpu + alloc + lock)
  • HTML 5 Flame Graphs: faster rendering, smaller size
  • JFR v2 output format, compatible with FlightRecorder API
  • JFR to Flame Graph converter
  • Automatically turn profiling on/off at --begin/--end functions
  • Time-to-safepoint profiling: --ttsp

Improvements

  • Unlimited frame buffer. Removed -b option and 64K stack traces limit
  • Additional JFR events: OS, CPU, and JVM information; CPU load
  • Record bytecode indices / line numbers
  • Native stack traces for Java events
  • Improved CLI experience
  • Better error handling; an option to log warnings/errors to a dedicated stream
  • Reduced the amount of unknown stack traces

Changes

  • Removed non-ASL code. No more CDDL license

Maintenance release

24 Feb 00:54
Compare
Choose a tag to compare

v1.8.4

Improvements

  • Smaller and faster agent library

Bug fixes

  • Fixed JDK 7 crash during wall-clock profiling

Maintenance release

06 Jan 15:39
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

01 Nov 23:55
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