Releases: dpsoft/ap-agent
v0.1.8 - Support for multiple events at the JFR output
What's Changed
Full Changelog: v0.1.7...v0.1.8
v0.1.7 - Maintenance Release
What's Changed
- Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.0 to 3.5.1 by @dependabot in #32
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 by @dependabot in #31
Full Changelog: v0.1.6...v0.1.7
v0.1.6 - JFR Buffered File Reader improvement
What's Changed
- Bump maven-shade-plugin from 3.4.1 to 3.5.0 by @dependabot in #29
- Buffered file reader by @dpsoft in #33
Full Changelog: v0.1.5...v0.1.6
v0.1.5 - Go mode tweak
v0.1.4 -Minor Release
What's Changed
- Bump maven-source-plugin from 3.2.1 to 3.3.0 by @dependabot in #27
- Bump org.tinylog.version from 2.6.1 to 2.6.2 by @dependabot in #26
- update ap-loader to 2.9-6 in order to load native lib on linux arm by @dpsoft in #28
Full Changelog: v0.1.3...v0.1.4
v0.1.3 -Minor Release
What's Changed
- Bump maven-source-plugin from 2.2.1 to 3.2.1 by @dependabot in #23
- Bump org.tinylog.version from 2.5.0 to 2.6.1 by @dependabot in #22
- Bump vavr from 0.10.3 to 0.10.4 by @dependabot in #21
- Bump maven-deploy-plugin from 2.8.2 to 3.1.1 by @dependabot in #20
- Bump maven-gpg-plugin from 3.0.1 to 3.1.0 by @dependabot in #19
- Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 by @dependabot in #24
- Add agent as lib pprof example by @dpsoft in #25
- Improve profiler executor API by @dpsoft in #25
Move Firefox profiler support to experimental AP-Agent
We created AP agent experimental variation (ap-agent-experimental)to ensure stable dependencies and enable the development of a mainstream version.
Full Changelog: v0.1.2...v0.1.3
v0.1.2 -Minor Release
What's Changed
- pprof: add support for allocations and lock data by @dpsoft in #18
- update readme by @dpsoft
- add interval configuration by @dpsoft
- rename banner to
agent-banner
to avoid clash with spring banner by @dpsoft
GO(mode): Allocs & Block Support
The AP-Agent
now supports two additional endpoints in Go mode, allowing you to profile memory allocations and contended locks.
/debug/pprof/allocs
endpoint, you can get a profiling report of memory allocations performed by the application.
/debug/pprof/block
endpoint returns a profiling report of contended locks that are blocking on synchronization primitives.
All the credits to @NeQuissimus for the changes to support allocations and lock data(async-profiler/async-profiler#713) in async-profiler
converter.
Full Changelog: v0.1.1...v0.1.2
v0.1.1 - Minor Release
What's Changed
- Set host to 0.0.0.0 by @fggarcia in #14
- Fixes by @dpsoft in #16
- Check if async profiler is supported by @dpsoft in #16
- Hot/Cold Framegraph Fix by @dpsoft in #16
- Update
AP-Loader
to 2.9-4 by @dpsoft in #16 - Banner error handling by @dpsoft in #16
- Framegraph from collapsed stack traces example by @dpsoft in #16
New Contributors
Full Changelog: v0.1.0...v0.1.1
v0.1.0 - First Release
Startup Banner
The banner currently only shows the current version of the agent and the AP-Loader
Hot/Cold FlameGraph Support(Mixed)
This type of visualization combines both on-CPU
and off-CPU
flame graphs. This visualization provides a comprehensive view of the performance data by showing all thread time in one graph and allowing direct comparisons between on-CPU
and off-CPU
code path durations. The hot and cold functions are shown together in the same graph, providing a clear and concise view of the performance of the program.
The darker colors indicate on-CPU
and lighter colors indicate off-CPU
hotcold (http://localhost:8080/profiler/profile?event=wall&output=hotcold&duration=30
)
All credit to @tetsuzawa as we rely on his work done at this PR
Firefox Profiler Support
Basic example with curl
- Execute the profiler for the
cpu
event,fp
(Firefox Profiler) output, a60 seconds
duration and write the response toprofiling_results/firefox-profiler-example.json.gz
curl -s "http://localhost:8080/profiler/profile?event=cpu&output=fp&duration=60" -o profiling_results/firefox-profiler-example.json.gz
- Visit the Firefox Profiler page
- Load the output file from
step 1
, and you'll see the profiling result
Profiling results
Call tree
Flame graph
Contributed by @lucasamoroso via #11
Availability in Maven Central
AP-Agent
is now published in Maven Central, making it easy for developers to include it in their projects.
<dependency>
<groupId>io.github.dpsoft</groupId>
<artifactId>ap-agent</artifactId>
<version>0.1.0</version>
</dependency>
v0.0.1 - Snapshot Release
- Initial implementation with jfr, flamegraph, pprof output formats
- Go mode -> /debug/pprof/profile endpoint
Example:
1 - Just add ap-agent-1.0-SNAPSHOT.jar
as javaagent
-> java -javaagent:ap-agent-1.0-SNAPSHOT.jar
2- In a browserhttp://localhost:8080/profiler/profile?event=cpu&output=flame&duration=10
3- Enjoy: