Ingo Kegel's Avatar

Ingo Kegel

@ingokegel

Building JProfiler & install4j at ej-technologies. Java expert since the early days. Deep dives into profiling, performance, and build tools.

54
Followers
41
Following
413
Posts
30.10.2023
Joined
Posts Following

Latest posts by Ingo Kegel @ingokegel

4/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

10.03.2026 16:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

3/ Additionally, the Heap Walker’s reference views now display full string values in the dialog, removing previous character limits on previews.

10.03.2026 16:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

2/ UI accessibility is improved with a new hover button for tables containing truncated text, directly opening the relevant tab in the detail dialog.

10.03.2026 16:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ In JProfiler 16, the node detail dialog has been updated to provide cumulative statistics when multiple nodes are selected in hot spot views. This allows for immediate aggregation of performance data across disparate nodes without manual calculation.

10.03.2026 16:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

3/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

10.03.2026 14:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

2/ This breakdown enables the isolation of thread-specific performance issues, such as identifying a single misbehaving thread within a larger pool. You can select a specific thread from the analysis dialog to jump directly to its call tree.

10.03.2026 14:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ A new analysis feature in JProfiler 16 allows for calculating the contribution of individual threads within a cumulative call tree. By selecting "Show Threads" on any node, users can access a percentage breakdown of all threads contributing to that specific execution path.

10.03.2026 14:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

5/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

09.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

4/ Comparison and export features allow users to diff two individual virtual threads or entire thread dumps in a dedicated viewer. Specific threads, selections, or full dumps can also be copied to the clipboard via the context menu for external analysis.

09.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

3/ JProfiler now groups threads with identical stack traces at the same hierarchical position into a single node. You can inspect individual thread names within these groups. This grouping is also available for platform thread dumps.

09.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

2/ Virtual threads are organized hierarchically within their thread containers. This structure is particularly relevant for structured concurrency, where each scope creates a corresponding container.

09.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ JProfiler 16 adds dedicated support for virtual thread dumps. The thread dumps view now provides distinct actions for synchronous platform thread dumps and asynchronous virtual thread dumps,

09.03.2026 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

4/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

09.03.2026 13:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

3/ On Linux with Java 25+, JProfiler now utilizes the jdk.CPUTimeSample event for data in the CPU section. This event measures Linux kernel CPU time, providing more accurate metrics than the old jdk.ExecutionSample event for production systems where JVMTI agents are restricted.

09.03.2026 13:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

2/ The JFR recording wizard now supports throttle settings, including periods and emission rates. This is essential for the new jdk.CPUTimeSample event in Java 25. These throttle settings are also displayed in the CPU views for context.

09.03.2026 13:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ JProfiler 16 introduces significant optimizations for the JFR event browser. Data in the lower views is now pre-calculated, and the event table supports incremental loading. Sorting and total calculations now consider the entire filtered dataset, not just the visible subset.

09.03.2026 13:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Breaking the LLM Black Box: Custom Categorization in JProfiler
Breaking the LLM Black Box: Custom Categorization in JProfiler Modern agentic applications often perform a wide range of logical tasks through a single interface. While these operations have vastly different performance ...

While JProfiler defaults to grouping by model name, this screencast shows how to move beyond that predefined perspective.

youtu.be/cK0fYXiF1Po

If you like what you see, feel free to try it out yourself at

www.ej-technologies.com/jprofiler/d...

06.03.2026 15:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm continuing to record screencasts for new features in JProfiler!

The new AI probe deserves another screencast: Modern agentic applications perform diverse logical tasks through a single interface, yet they often appear as an undifferentiated stream in profilers.

06.03.2026 15:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

3/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

06.03.2026 13:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

2/ Selecting a throughput metric automatically filters the view to the corresponding event type and recalculates hot paths. This functionality is also integrated into the "Selection" and "Hot Spots" tabs within the probe events view for detailed analysis of high-volume I/O.

06.03.2026 13:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ In JProfiler 16, the probe call tree and hot spots views can now have a metric selector. In the "Files" or "Sockets" probes, you can toggle between event duration and specific metrics like "Read Throughput" or "Write Throughput."

06.03.2026 13:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

6/ Evaluate JProfiler 16 for free at ej-technologies.com/jprofiler/d...


We're here for you if you have any questions while trying it out! πŸ™Œ

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

5/ The events view now also features smart column management. The UI dynamically toggles between "fit-to-viewport" and horizontal scrolling based on available width. Manual resizing is supported, with automatic layout restoration when viewport constraints allow.

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

4/ New histogram views for duration and throughput are available for specific probes, such as Files and Sockets. These histograms support logarithmic scaling and allow you to filter events by dragging a selection range directly on the chart.

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

3/ Filtering and sorting logic now applies to the entire set of filtered events, not just the visible rows. This includes the calculation of table totals and the generation of CPU hot spots, probe hot spots, and probe call trees within the events view.

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

2/ A new timeline tab provides a histogram of all recorded events. This allows for precise time-range filtering across the entire dataset. The main event table now supports incremental loading, ensuring the UI remains responsive even with very large result sets.

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

1/ JProfiler 16 introduces a reimplemented, file-based backend for probe event recording. This architectural change moves away from memory-limited storage, enabling high-throughput recording and analysis of massive event sets numbering in the millions.

05.03.2026 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

If you like what you see, feel free to try it out yourself at

www.ej-technologies.com/jprofiler/d...

04.03.2026 09:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Profiling AI: LangChain4j and Spring AI
Profiling AI: LangChain4j and Spring AI Agentic applications introduce unique profiling challenges. Beyond standard CPU usage, performance and costs are determined by the complex structure of promp...

First up is the new AI probe: the screencast walks through profiling a LangChain4j customer support agent, showing how the AI probe visualizes prompt compositions, isolates token-heavy outliers, and projects resource costs directly onto the recorded call tree.

youtu.be/jirhNbQARik

Enjoy!

04.03.2026 09:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'm back at recording screencasts for new features in JProfiler!

04.03.2026 09:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0