This screencast shows how to use the “Inline async executions” call tree analysis to get a unified call tree across thread boundaries
This is made possible by JProfiler “request tracking” feature. In the screencast, a simple example with Spring WebFlux is profiled that creates permutations of a specified word.
Most reactive stream frameworks use the executor service JDK API for asynchronous execution. JProfiler can track tasks that are submitted to an executor service and stitch them back into a single call tree when the “Inline async executions” call tree analysis is invoked. This is essential when analyzing performance bottlenecks in asynchronous programming models.
This screen cast shows how to profile HTTP calls with the HTTP client probe and use the HTTP remote request tracking feature to follow HTTP calls from one JVM into another.
A simple Spring Boot project with two application is profiled: A gateway server that serves static files and proxies API request to a second server that handles REST calls.
This screen cast shows how to analyze memory leaks in Java applications or reduce memory consumption in general if the objects of interest are not all referenced in the same way.
Analyzing a single object and finding the path to a garbage collector root is not enough in that case and the merged incoming references view as well as the merged dominating reference view are helpful in finding out about the distribution of the actual incoming references and how to make a maximum of objects eligible for garbage collection.
This screen cast shows how to configure a script probe for a Java profiling session in JProfiler.
Script probes are custom probes that intercept selected methods and construct payload strings with Java scripts that are entered directly in the JProfiler UI.
You then get a payload call tree, payload hot spots with back traces, telemetries for probe event counts and event durations as well as the ability to inspect single events with their threads and stack traces.
A system-wide dark mode is coming to both macOS and Windows. That’s why we’re working on a dark mode for JProfiler as well. Based on the excellent Darcula Look and Feel from our friends at JetBrains, JProfiler will soon fit into this new world of dark background colors:
Complexity analysis in JProfiler is a tool for experimentally determining the Big-O behavior of algorithms based on the execution times of single selected methods. A bubble chart with curve fits of common complexities visualizes the results of the analysis.
This screen cast shows how to attach to a remote JVM with zero configuration on the remote side. The only requirement is an SSH connection to the remote machine. Remote JVMs are listed in the JProfiler UI and a JVM can be selected for profiling.