Skip to content

Releases: async-profiler/async-profiler

Binary launcher

25 Apr 06:49
bdceedd
Compare
Choose a tag to compare
Binary launcher Pre-release
Pre-release
v2.10

Draft Release 2.10

Java Heap leak profiler

26 Nov 23:15
32601bc
Compare
Choose a tag to compare

v2.9

Features

  • Java Heap leak profiler
  • meminfo command to print profiler's memory usage
  • Profiler API with embedded agent as a Maven artifact

Improvements

  • --include/--exclude options in the FlameGraph converter
  • --simple and --dot options in jfr2flame converter
  • An option for agressive recovery of [unknown_Java] stack traces
  • Do not truncate signatures in collapsed format
  • Display inlined frames under a runtime stub

Bug fixes

  • Profiler did not work with Homebrew JDK
  • Fixed allocation profiling on Zing
  • Various jfrsync fixes
  • Symbol parsing fixes
  • Attaching to a container on Linux 3.x could fail

Maintenance release

10 Sep 00:00
50fccae
Compare
Choose a tag to compare

v1.8.8

Bug fixes

  • Could not find NativeLibrary_load on JDK 11.0.15

Maintenance release

16 Jul 19:59
733cf7c
Compare
Choose a tag to compare

v2.8.3

Improvements

  • Support virtualized ARM64 macOS
  • A switch to generate auxiliary events by async-profiler or FlightRecorder in jfrsync mode

Bug fixes

  • Could not recreate perf_events after the first failure
  • Handle different versions of Zing properly
  • Do not call System.loadLibrary, when libasyncProfiler is preloaded

Maintenance release

13 Jul 23:46
e2abcd2
Compare
Choose a tag to compare

v2.8.2

Bug fixes

  • The same .so works with glibc and musl
  • dlopen hook did not work on Arch Linux
  • Fixed JDK 7 crash
  • Fixed CPU profiling on Zing

Changes

  • Mark interpreted frames with _[0] in collapsed output
  • Double click selects a method name on a flame graph

Bug fixes and JFR converter improvements

08 Jun 13:20
fa98985
Compare
Choose a tag to compare

v2.8.1

Improvements

  • JFR to pprof converter (contributed by @NeQuissimus)
  • JFR converter improvements: time range, collapsed output, pattern highlighting
  • %n pattern in file names; limit number of output files
  • --lib to customize profiler library path in a container
  • profiler.sh list command now works without PID

Bug fixes

  • Fixed crashes related to continuous profiling
  • Fixed Alpine/musl compatibility issues
  • Fixed incomplete collapsed output due to weird locale settings
  • Workaround for JDK-8185348

Distinguish interpreted/compiled frames

26 Apr 13:26
4a88ee4
Compare
Choose a tag to compare

v2.8

Features

  • Mark top methods as interpreted, compiled (C1/C2), or inlined
  • JVM TI based allocation profiling for JDK 11+
  • Embedded HTTP management server

Improvements

  • Re-implemented stack recovery for better reliability
  • Add loglevel argument
  • Do not mmap perf page in --all-user mode
  • Distinguish runnable/sleeping threads in OpenJ9 wall-clock profiler
  • --cpu converter option to extract CPU profile from the wall-clock output

OpenJ9 support. DWARF unwinding

13 Feb 23:28
b287816
Compare
Choose a tag to compare

v2.7

Features

  • Experimental support for OpenJ9 VM
  • DWARF stack unwinding

Improvements

  • Better handling of VM threads (fixed missing JIT threads)
  • More reliable recovery from not_walkable AGCT failures
  • Do not accept unknown agent arguments

Continuous profiling

10 Jan 00:31
ce91abe
Compare
Choose a tag to compare

v2.6

Features

  • Continuous profiling; loop and timeout options

Improvements

  • Reliability improvements: avoid certain crashes and deadlocks
  • Smaller and faster agent library
  • Minor jfr and jfrsync enhancements (see the commit log)

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