Search This Blog

Thursday, November 22, 2018

The IDE Profiler is not the ideal tool for every optimization-related task.

This is not due to any limitations, but because profilers are best for fine-grained or low-level performance investigation. 

Imagine a Java EE reporting application that’s not scaling well. The bottleneck could be some inefficient algorithm, but it can also be due to bad application server tuning, inefficient SQL queries, excessive use of remote calls, and many other factors. 

At this stage of the investigation, you’ll often prefer different tools. For example, Many application server offer detailed monitoring capabilities, and most database servers provide tools to spot heavy queries. 

An IDE profiling tool can still help though. For example the NetBeans Profiler integrates well with application servers. 

But in my experience this integration is more suited to profiling sections of Java EE code that are hard to test outside the container.