Category: jprofiler

Garbage collector analysis in JProfiler

This screencast shows how to use the garbage collector probe in JProfiler. Having access to detailed information about the overall activity of the GC, as well as the single garbage collections, is crucial for tuning the garbage collector and achieving an optimal performance for your application.

Recording JFR snapshots with JProfiler

Recording JFR snapshots with JProfiler

This screencast shows JProfiler’s versatile functionality as a JFR recording controller. As an example, a JFR recording on a Kubernetes cluster is recorded and the resulting snapshot is shown in JProfiler. In this context, you can see the wizard for configuring JFR recording settings. In addition, JFR recordings of terminated JVMs and the handling of externally started JFR recordings are demonstrated.

Enhanced JFR snapshot analysis with JProfiler

JProfiler has excellent support for viewing JFR snapshots. This screencast focuses on the event browser, which is specific to JFR snapshots, and also gives an overview of the other view sections that offer some of the same views as regular profiling sessions.

Working with probe events in JProfiler

Probe events are of great help in debugging specific performance problems. To find events of interest, JProfiler gives you a lot of tools to narrow down the set of displayed events.

This screencast shows the HTTP server and HTTP client probes, the JDBC and JPA/Hibernate probes as well as the socket probe when profiling a real-world application. The various ways of filtering probe events as well as duration and throughput histograms are explained.

The profiled application is the CommaFeed RSS reader.

Customizing telemetries in JProfiler

Telemetries are an essential feature for a profiler, they help you get an idea about when things happen in the profiled JVM, and how various subsystems are correlated.

This screencast shows how to customize the telemetries section in JProfiler by adding probe telemetries. It discusses bookmarks, recording actions and setting time range filters for probe events in probe telemetries.

Profiling Java applications in a Kubernetes cluster

This screencast shows how you can profile JVMs running in Kubernetes cluster with JProfiler. A profiling session with a note taking demo application sessions is started from the IDE, which provides additional benefits, like source code navigation and the automatic detection of profiled packages. Also, a standalone session is started, where an additional SSH connection is required to reach the kubectl command that can connect to the cluster.

Profiling Java applications in Docker containers

This screencast shows how to use JProfiler to profile a JVM that is running in a Docker container. JProfiler has dedicated zero-configuration support for attaching to local and remote Docker containers and both cases are shown in the screencast.

Using sunburst diagrams for understanding Java memory consumption

This screencast shows how to use the sunburst diagram in the biggest objects view of JProfiler’s heap walker to visualize memory consumption of your Java application.

The sunburst diagrams shows a ring with the biggest objects and multiple reference levels of dominated objects in successive outer rings. See the documentation to read about the dominator analysis and the biggest objects view.

In the screencast, a memory snapshot of the eclipse IDE is analyzed and the class loader and classes groupings of the biggest object view are shown.

Using flame graphs when profiling Java applications

Flame graphs are a great way to get an overview of the entire call tree and to visualize performance characteristics. This screen cast shows how the jclasslib bytecode viewer is profiled. A class file is opened and the parsing of the class file is analyzed with the flame graph.