Skip to content

Releases: SAP/async-profiler

v3.0.1

10 Oct 14:55
37ff942
Compare
Choose a tag to compare

SAP interim release that works with JDK23.

Binary launcher and AsyncGetCallTrace replacement

04 Sep 20:58
4e441b4
Compare
Choose a tag to compare

v3.0

Features

Improvements

Bug fixes

  • Workaround macOS crashes in SafeFetch
  • Fixed attach to OpenJ9 on macOS
  • Support UseCompressedObjectHeaders aka Lilliput
  • Fixed allocation profiling on JDK 20.0.x
  • Fixed context-switches profiling
  • Prefer ObjectSampler to TLAB hooks for allocation profiling
  • Improved accuracy of ObjectSampler in --total mode
  • Make Flame Graph status line and search results always visible
  • loop and timeout options did not work in some modes
  • Restart interrupted poll/epoll_wait syscalls
  • Fixed stack unwinding issues on ARM64
  • Workaround for stale jmethodIDs
  • Calculate ELF base address correctly
  • Do not dump redundant threads in a JFR chunk
  • check action prints result to a file
  • Annotate JFR unit types with @ContentType

Maintenance release

08 Dec 00:45
3e1e1c6
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

07 Dec 08:53
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

06 Dec 15:46
Compare
Choose a tag to compare

v1.8.7

Bug fixes

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

Maintenance release

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

06 Dec 15:43
Compare
Choose a tag to compare

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

Maintenance release

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

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

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