Skip to content

Releases: dpsoft/ap-agent

v0.1.8 - Support for multiple events at the JFR output

01 Oct 19:50
Compare
Choose a tag to compare

What's Changed

  • Support multiple events on jfr output by @dpsoft in #34

Full Changelog: v0.1.7...v0.1.8

v0.1.7 - Maintenance Release

29 Sep 15:45
Compare
Choose a tag to compare

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

28 Sep 16:40
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.5...v0.1.6

v0.1.5 - Go mode tweak

25 Sep 11:32
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.4...v0.1.5

v0.1.4 -Minor Release

30 May 23:58
Compare
Choose a tag to compare

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

15 May 19:32
Compare
Choose a tag to compare

What's Changed

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

02 May 22:19
Compare
Choose a tag to compare

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

10 Feb 21:33
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.1.1

v0.1.0 - First Release

08 Feb 04:04
Compare
Choose a tag to compare

Startup Banner

The banner currently only shows the current version of the agent and the AP-Loader

image

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)
image

All credit to @tetsuzawa as we rely on his work done at this PR

Firefox Profiler Support

Basic example with curl

  1. Execute the profiler for the cpu event, fp (Firefox Profiler) output, a 60 seconds duration and write the response to profiling_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
  1. Visit the Firefox Profiler page

Screenshot 2023-02-04 at 13 12 49

  1. Load the output file from step 1, and you'll see the profiling result

Profiling results

Call tree

image

Flame graph

image

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

23 Jan 22:41
Compare
Choose a tag to compare
Pre-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:

image