Profiling Java applications in VS Code with JProfiler

2025-04-25
Posted by Ingo Kegel

JProfiler now integrates directly into VS Code, bringing the powerful profiling tool into your everyday development workflow.

In this screencast, we profile the Spring Pet Clinic demo and walk through the features of the JProfiler extension for VS Code, including:

  • Toggling profiling mode
  • Automatic setup of profiled packages
  • Source code navigation from profiling views
  • Attach mode for unsupported launch methods (like Maven)
  • Built-in Gradle integration

If you're using a launch method in VS Code that isn't currently supported, let us know — we’re always looking to expand support.

Advanced Kafka probe configuration in JProfiler

2025-04-23
Posted by Ingo Kegel

In our first Kafka screencast, we looked at how JProfiler correlates message flow and CPU usage through producers, consumers, and topic-level call trees.

In this follow-up, we go deeper, showing how to configure custom naming for Kafka messages based on their content.

This enables you to:

  • split call trees by semantic message types
  • track specific event types in probe views
  • add value-level details to single event descriptions
  • visualize outliers in event duration histograms

We also trigger a Kafka message spike via an API call and analyze its impact, all without changing the application code.

Profiling Kafka #1 – Message Flow & Hot Spots

2025-04-22
Posted by Ingo Kegel

Kafka-based applications are notoriously hard to profile. Message flow happens in background threads, stack traces don’t reveal the full picture, and it’s hard to know which topic contributes to which hot spot.

JProfiler’s Kafka probes give you deep insight—producers, consumers, and message-level details are all captured and correlated with performance data.

This screencast walks through profiling a Spring Kafka application, showing how:

  • consumer call trees are split by topic
  • producers link directly into probe views
  • you can correlate CPU hot spots with Kafka topics
  • Kafka events are filterable, inspectable, and aggregatable

Garbage collector analysis in JProfiler

2023-09-22
Posted by Ingo Kegel

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

2023-09-20
Posted by Ingo Kegel

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

2023-09-18
Posted by Ingo Kegel

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

2023-09-15
Posted by Ingo Kegel

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

2023-09-12
Posted by Ingo Kegel

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 JEE/Spring applications

2023-01-04
Posted by Ingo Kegel

This screencast showcases JProfiler's support for JEE and Spring, in particular the JEE/Spring component detection and the JEE/Spring aggregation level in the call tree and hot spot views.

Profiling Java applications in a Kubernetes cluster

2022-12-21
Posted by Ingo Kegel

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.

Connect
Read with RSS
Subscribe by email
Follow on or
Blog Archive