The award-winning all-in-one Java profiler for Windows PC

JProfiler

JProfiler

  -  145.78 MB  -  Trial
  • Latest Version

    JProfiler 14.0.5 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    Windows 7 64 / Windows 8 64 / Windows 10 64 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    ej-technologies GmbH / External Link

  • Filename

    jprofiler_windows-x64_14_0_5.exe

  • MD5 Checksum

    71dfa1ad5604897ca085536020fdcea4

JProfiler's intuitive UI helps you resolve Java-based applications and performance bottlenecks, pin down memory leaks, and understand threading issues. When your profile, you need the most powerful tool you can get. At the same time, you do not want to spend time learning how to use the tool. JProfiler is just that: simple and powerful at the same time. Configuring sessions is straightforward, third-party integrations make getting started a breeze, and profiling data is presented in a natural way. On all levels, It has been carefully designed to help you get started with solving your problems.

Database calls are the top reasons for performance problems in business applications. JProfiler's JDBC and JPA/Hibernate probes as well as the NoSQL probes for MongoDB, Cassandra, and HBase show the reasons for slow database access and how slow statements are called by your code. From the JDBC timeline view that shows you all JDBC connections with their activities, through the hot spots view that shows you slow statements to various telemetry views and a list of single events, the database probes are an essential tool for getting insight into your database layer.
  • Live profiling of a local session
  • Live profiling of a remote session
  • Snapshot comparisons
  • Viewing an HPROF snapshot
  • Easy creation of custom probes
  • Memory profiling
  • Allocation of hot spots
  • Biggest objects
  • CPU profiling
  • Thread history
  • Control objects
Dedicated support for JEE is present in most views in the app. For example, at the JEE aggregation level, you see the call tree in terms of the JEE components in your application. In addition, the call tree is split up for each request URI. Also, It adds a semantic layer on top of the low-level profiling data, like JDBC, JPA/Hibernate, JMS, and JNDI calls that are presented in the CPU profiling views. With its JEE support, the program bridges the gap between a code profiler and a high-level JEE monitoring tool.

It has a number of probes that show you higher-level data from interesting subsystems in the JRE. In addition to the Java EE subsystems like JDBC, JPA/Hibernate, JSP/Servlets, JMS, web services, and JNDI, It also presents high-level information about RMI calls, files, sockets, and processes. Each of these probes has its own set of useful views that gives you general insight, highlights performance problems, and allows you to trace single events. And what's more, all these views are also available for your own custom probes that you can configure on the fly within JProfiler.

Features and Highlights

Live profiling of a local session
Once you define how your application is started, It can profile it and you immediately see live data from the profiled JVM. To eliminate the need for session configuration, you can use one of the many IDE plugins to profile the application from within your favorite IDE.

Live profiling of a remote session
By modifying the VM parameters of the java start command you can get any Java application to listen for a connection from the JProfiler GUI. The profiled application can not only run on your local computer, but It can also attach to a profiled application over the network. In addition, It provides numerous integration wizards for all popular application servers that help you in setting up your application for profiling.

Offline profiling and triggers
You do not have to connect with the GUI to the profiled application in order to profile it: With offline profiling, you can use JProfiler's powerful trigger system or the API to control the profiling agent and save snapshots to disk. At a later time, you can open these snapshots in the GUI or programmatically export profiling views with the command line export tool or the export ant task.

Snapshot comparisons
In the app, you can save a snapshot of all current profiling data to disk. It offers a rich comparison facility to see what has changed between two or more snapshots. Alternatively, you can create comparison reports programmatically with the command line comparison tool or the comparison ant task.

Viewing an HPROF snapshot
It can open HPROF snapshots that have been taken with JVM tools such as jconsole or jmap or that have been triggered by the -XX:+HeapDumpOnOutOfMemoryError JVM parameter.

Request tracking
The innovative concept of request tracking makes profiling of parallel and multi-threaded programming much easier. Request tracking connects call sites with execution sites between different threads with hyperlinks in the call tree view.

Easy creation of custom probes
It offers a custom probe wizard that allows you to define your custom probes directly in the GUI. Your custom probes are deployed to the profiled application by the app and you do not even have to restart the profiled application when changing or adding custom probes.

Note: 10 days trial version. Requires Java JRE.

Also Available: Download JProfiler for Mac

  • JProfiler 14.0.5 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    JProfiler 14.0.5 Screenshot 1
  • JProfiler 14.0.5 Screenshot 2
  • JProfiler 14.0.5 Screenshot 3
  • JProfiler 14.0.5 Screenshot 4
  • JProfiler 14.0.5 Screenshot 5

What's new in this version:

New features:
- Support for MongoDB 5.​2
- Support for Spring WebFlux client 6.​1.14+
- Support for ktor 3
- Prevent native agent warning for Java 24+

Fixed:
- Regression in JProfiler 14.​0.3: Remote attach to a Docker container with a user switch via sudo did not work anymore
- Fixed remote attach to Docker containers with a different architecture for certain situations