JProfiler logoJProfiler

The Award-Winning All-in-One Java Profiler

JProfiler is the industry's most comprehensive all-in one Java profiler that helps resolve performance bottlenecks, pin down memory leaks and understand threading issues.

Screenshot of JProfiler
Screenshot of JProfiler
Screenshot of JProfiler
Screenshot of JProfiler
Background artwork
Background artwork
Background artwork
Background artwork

Why JProfiler?

Deep insight into JDBC and JPA

Databases calls are a top source for performance problems. JProfiler is the tool that helps you to find and fix them in record time.

Built-in support for Kubernetes and Docker

Profiling JVMs in Kubernetes and Docker is hard. With JProfiler, you simply select them in the JProfiler UI.

Zero-configuration remote profiling

With JProfiler, you just need SSH credentials for a remote machine to profile a JVM that is running on it. No remote installation required.

Advanced profiling of HTTP calls

JProfiler is the expert tool for analyzing HTTP performance problems. Incoming calls, outgoing calls - JProfiler can even track calls across multiple JVMs.

Excellent support for Spring & JEE

JProfiler understands Spring and JEE components and combines their high-level information with the low-level information of method calls.

... and much more

MongoDB performance analysis

One of JProfiler's many high-level probes measures MongoDB calls. You wll solve problems much faster than with simpler profilers that just show method calls.

Live profiling data

With JProfiler, you do not have to record all data before you can see it. The UI shows you profiling data as it recorded, wherever it is feasible.

Profile from your IDE

JProfiler offers IDE plugins for IntelliJ IDEA, eclipse and Netbeans. Start your profiling sessions with a single click and automatically set the profiled classes to your own code.

Integration wizards for application servers

JProfiler has integration wizards for all popular application servers. They modify start scripts or config files as required to load the profiling agent at startup.

Offline profiling and triggers

Using a UI for profiling is not required. With offline profiling, you can use JProfiler's powerful trigger system or the API to record data and save snapshots to disk.

Snapshot comparisons

Save and compare snapshots to find out how performance changes between different profiling runs.

Use the heap walker to find memory leaks

Finding the causes for memory leaks can be hard. JProfiler makes it easy with the heap walker, the most advanced tool for memory analysis there is.

Full support for HPROF/PHD

Native memory snapshots from the hotspot JVM (HPROF) or OpenJ9 (PHD) are read by JProfiler and displayed in the heap walker.

Full support for JFR

JFR is an important tool for recording data in production. The full power of JProfiler is available to record and analyze JFR snapshots.

Local request tracking

JProfiler lets you follow calls between different threads. Support is available for Executors, virtual threads, AWT, SWT, Kotlin coroutines and more.

Remote request tracking

JProfiler can track calls across JVM boundaries, including HTTP requests, RMI, gRPC, web services and remote EJBs.

Easily create custom probes

Define custom probes with scripts directly in the UI. For more advanced probes, use the embedded probe API for your own code and the injected probe API for 3rd party code.

Save time and money with JProfiler

The cost of JProfiler is amortized incredibly quickly

Artwork
Shorten Development Times

Boost your development productivity by using the best tool in the market. With JProfiler you will be able to

  • Focus your time on business logic
  • Nail performance and memory consumption where it's actually required
  • "Do things that don't scale first, and improve later" (Paul Graham)
Artwork
Lower Cloud Costs

Many of our customers have halved their cloud costs. With JProfiler, you will be able to

  • Optimize resource usage
  • Reduce data transfer rates
  • Minimize the required CPU and memory consumption
Artwork
Reduce Production Outages

With production outages, every second counts. With JProfiler, you will be able to

  • Profile in production by using JProfiler's powerful remote attach functionality
  • Debug isolated use cases in real time by using JProfiler's advanced probes
  • Analyze post-mortem snapshots like JFR and HPROF with the full power of JProfiler

What our users are saying

30000+ customers around the globe and 75%+ of all Fortune 500 companies use JProfiler.

“I recently evaluated JProfiler to identify some performance issues in an app I'm working on in my current consulting gig. I had been banging my head against the wall trying to get tools like VisualVM working against the IBM JVMs that the client uses and then I tried JProfiler. With the IDE plugin support it provides, it just worked and in the last day or so, I've been able to easily identify sources for all our major performance problems.”

Evan Easton
Consultant

“What started out as a search for a memory leak and a trial of JProfiler turned out to be the find of a year. Not only did we find our memory leak, we got started in only minutes of setup work, found slow background processes, reduced server costs and tuned our software to make it faster and more responsive. All this in just a week and a free trial. Given the results it seemed obvious we should add JProfiler to our tool chain!”

Gregg D. Harrington, Owner
CarrierSoft

“I have evaluated lots of Java profilers. Yours is simply FAN-TA-STIC!. I love the 'live' views and auto-updated profiling information. JProfiler is also the only profiling tool to reliably report time spent in JNI calls, which is very valuable in our Java applications which are JNI intensive.”

Cyrille Maucci
Hewlett-Packard

Watch screencasts

We're publishing screencasts for JProfiler in our blog for important use cases and for new features.