async-profiler
jfrunit
async-profiler | jfrunit | |
---|---|---|
8 | 7 | |
5,883 | 301 | |
- | -0.3% | |
8.4 | 0.0 | |
about 1 year ago | about 1 year ago | |
C++ | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
async-profiler
-
Migrating a Spring Boot application to Quarkus
Using the Async Profiler we were able to build flamegraphs for the first and second queries to picture the differences in path length of the two transactions execution.
-
Making Code Faster
> The other two languages I’ve used mostly in recent decades are Java and Ruby and the profiler situation is for both those languages is kind of shitty. I had to pay real money to get the Java profiler I used at AWS and while it worked, it was klunky, not fun to use.
These days, async profiler (https://github.com/jvm-profiling-tools/async-profiler) is much better than the Go tooling for performance. It is a joy to use and features a top-like view for the hottest methods. It works for locks, allocations and CPU time. It also integrates with JMH.
-
Why would a Java prime sieve run at only half its speed _some_ of the times?
Also, running it under a profiler (I recommend async-profiler[1]) should give you a good idea of where the slowdown occurs which might help you pin it down further.
[1] https://github.com/jvm-profiling-tools/async-profiler
-
Is there a way to know if my java game is slow on other computers?
Profile it. async-profiler is really great. Alternatively you can check out VisualVM/JProfiler/YourKit
- Best performance monitoring tools?
-
Rust Option 30x more efficient to return than Java Optional
async-profiler is really great at analyzing allocations, give it a shot!
-
Ask Java: what are some JFR-based tools that you enjoy?
JFR to Flame Graph Converter
-
Utility script for generating flamegraphs from JFR logs without dependencies.
Async Profiler converter tool does support JFR to Flame Graph, JFR to FlameScope, collapsed stacks to Flame Graph -https://github.com/jvm-profiling-tools/async-profiler#download
jfrunit
-
Experimenting with GC-less (heap-less) Java
I haven't had chance to use it properly yet, but I think JfrUnit[0][1] is a good option here to test non-functional behaviour like memory usage and garbage collection.
[0]: https://github.com/moditect/jfrunit
- Is there a way to write tests to validate the Hibernate-generated queries?
- JfrUnit – A JUnit extension for asserting JDK Flight Recorder events
- Possible to detect performance and memory issues with testing?
-
Ask Java: what are some JFR-based tools that you enjoy?
JfrUnit: Allows to assert JFR events in JUnit tests (details)
-
Inducing sustained GC
I do not know of any library that would particularly help here, except maybe this thingie might help with writing tests to assert your expected behaviour holds: https://github.com/gunnarmorling/jfrunit (A potentially relevant example here: https://twitter.com/gunnarmorling/status/1335326054496555008). However, there's no public release as of yet.
What are some alternatives?
container-jfr - Secure JDK Flight Recorder management for containerized JVMs
hibernate-jfr - a Hiberante listener that generates JFR events
junit-jfr - a JUnit 5 extension that generates JFR events
jmh - https://openjdk.org/projects/code-tools/jmh
hypersistence-optimizer - Hypersistence Optimizer allows you to get the most out of JPA and Hibernate. By scanning your application configuration and mappings, Hypersistence Optimizer can tell you what changes you need to do to speed up your data access layer.
jfr-libraries - a list of libraries that generate JFR events
micrometer-jfr - A Micrometer meter registry that generates JFR events
Arthas - Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
jfr-jdbc - a JDBC driver that wraps an other JDBC driver and generates JFR events
opentelemetry-java-instrumentation - OpenTelemetry auto-instrumentation and instrumentation libraries for Java
Gatling - Modern Load Testing as Code