mirror of
https://github.com/async-profiler/async-profiler.git
synced 2026-05-13 10:33:45 +00:00
3.6 KiB
3.6 KiB
Changelog
[1.7-ea] - In development
Features
- Profile invocations of an arbitrary Java method
--cstackoption to collect native stack traces for Java-level events
Improvements
- Enable CPU profiling on WSL
- Enable allocation profiling on Zing
- Reduce the amount of
unknown_Javasamples
[1.6] 2019-09-09
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:
%pand%t -goption to print method signatures-jcan increase the maximum Java stack depth- Allocaton sampling rate can be adjusted with
-i - Improved reliability on macOS
Changes
-ffile names are now relative to the current shell directory
[1.5] - 2019-01-08
Features
- Wall-clock profiler:
-e wall -e itimermode for systems that do not support perf_events- Native stack traces on macOS
- Support for Zing runtime, except allocation profiling
Improvements
--all-useroption to allow profiling with restrictedperf_event_paranoid(contributed by @jpbempel)-aoption 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
[1.4] - 2018-06-24
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,sand multipliers:K,M,Gfor interval argument - API and command-line option
-vfor 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
[1.3] - 2018-05-13
Features
- Profiling of native functions, e.g. malloc
Improvements
- JDK 9, 10, 11 support for heap profiling with accurate stack traces
rootcan now profile Java processes of any user-joption for limiting Java stack depth
[1.2] - 2018-03-05
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
totalcounter of allocation profiler now measures heap pressure (like JMC)
[1.1] - 2017-12-03
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
listcommand-line option to list supported events- Automatically find target process ID with
jpstool - An option to include counter value in
collapsedoutput - Friendly class names in allocation profile
- Split allocations in new TLAB vs. outside TLAB
Changes
- Replaced
-mmodes with-eevents - Interval changed from
inttolong
[1.0] - 2017-10-09
Features
- CPU profiler without Safepoint bias
- Lightweight Allocation profiler
- Java, native and kernel stack traces
- FlameGraph compatible output