Have you added an MCP server to your product? Probably you just test it with your favorite agent, OpenCode, Claude Code, Codex, whatever. However, that may be a bad idea.
Ingo Kegel
@ingokegel.bsky.social
Building JProfiler & install4j at ej-technologies. Java expert since the early days. Deep dives into profiling, performance, and build tools.
For AI agents, the natural way of interacting with actual systems is via command line utilities, much more than via tool APIs like MCP servers. This is where the new features in JProfiler 16.2 come in handy. 👇
1/ 🌟 New in install4j 13: Console mode gets a rich, interactive terminal UI when the installer runs on Java 25+ in an ANSI-capable terminal. Colored output makes success and error messages stand out.
1/ 🌟 New in install4j 13: A new Test API lets you write automated, end-to-end tests that drive an installer UI in GUI mode from a test JVM. It's framework-agnostic: use it from JUnit, TestNG, Spock, or a plain main method.
1/ 🌟 New in install4j 13: install4j can now build Windows MSIX media files. MSIX is the modern packaging format for Windows and the native format for the Microsoft Store. It integrates with managed deployment tools like Microsoft Intune.
1/ 🌟 New in install4j 13: install4j ships an AI agent skill. A compatible coding assistant loads it on its own and can read, edit, and create install4j project files. Describe a change in natural language, and the assistant applies it to your project.
We've just released install4j 13 with lots of new functionality 🎉 Big thanks to all our customers who suggested many of the new features! Take a look at the "What's new" page at 💡 www.ej-technologies.com/install4j/w... and try it yourself at 🚀 www.ej-technologies.com/install4j/d...
Did you ever make the mistake of asking your agent to move a lot of classes to another module? It cannot do it. It fails miserably while trying to find small clusters of classes that it can move at a time so that the build still works every step of the way.
For no reason at all, I gave jclasslib, my open-source JVM bytecode viewer, to a coding agent and told it to profile with the JProfiler MCP server.
AI coding agents are confident. On performance problems, they are often confidently wrong. I pointed Claude Code at CommaFeed. Connected to the JProfiler MCP server, the agent found a database hotspot, proposed a fix, handled the review, and got the PR merged.
Most performance bugs in Java applications never get profiled. The friction is too high. Switching tools, setting up sessions, interpreting results. Profiling only happens when something is already broken in production.
1/ In JProfiler 16, timeline views, including thread history and probe timelines, support row pinning. Selected rows can be pinned to a dedicated area at the top of the view via the context menu. The order of pinned rows can be customized using drag-and-drop.
1/ JProfiler 16 introduces deobfuscation support for snapshot comparisons. Previously, comparing snapshots from obfuscated applications required manual mapping. The comparison window now includes a "Deobfuscate" option during file selection.
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.
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.
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,
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.
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.
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."
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.
I'm back at recording screencasts for new features in JProfiler!
1/ The JProfiler 16 installer has been streamlined to run without requesting admin privileges by default. Elevated permissions are now only required if you explicitly choose to install for all users via the customized execution mode.
1/ JProfiler 16 features a complete UI overhaul with a modernized visual design and a new icon set. The update includes refreshed light and dark themes to improve readability and workspace aesthetics.
1/ For the new AI probe in JProfiler 16, we've added a cool demo session to let you explore the probe. Start "LLM demo" in the start center and activate the AI probe to get started.
1/ Your LLM calls are slow and expensive, but you have no idea which model interactions are burning tokens. At least until you got the new AI probe in JProfiler 16, which captures every chat request and embedding through LangChain4j and Spring AI and connects them to your code.
Big JProfiler release coming up! Lots of work on the UI and also - cue the drumroll - introducing AI features (expectably, but not in the way you might expect). Stay tuned 👀 www.ej-technologies.com/jprofiler
JProfiler: JProfiler – the Leading Java Profiler for Deep JVM Analysis
JProfiler bridges high-level analytics and low-level JVM data, delivering unmatched insights to solve your toughest performance problems, memory leaks, threading issues, and higher-level problems in technologies like JDBC, JPA, and more.
ej-technologies.com
JProfiler works even in the most restricted, high-performance environments imaginable. Like a Nanos unikernel. Check out this walkthrough by Angelo Rubini: foojay.io/today/unike...
foojay – a place for friends of OpenJDK
foojay is the place for all OpenJDK Update Release Information. Learn More.
foojay.io
1/ ⭐ New in install4j 12: UI scaling has been implemented for installer applications. You can now scale the size of installer applications by an arbitrary percentage on the "Installer->Look & Feel" step.
1/ ⭐ New in install4j 12: Support for the new Apple .icon bundles was added.
⭐ New in install4j 12: A JDK provider for IBM Semeru was added. Semeru runtimes are IBM-branded OpenJ9 JDKs. You can now select these JDKs for bundling on the "General Settings->JRE Bundles" step.