The award-winning all-in-one Java profiler for Mac

JProfiler for Mac

JProfiler 14.0

  -  154.9 MB  -  Trial

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of JProfiler 14.0.


For those interested in downloading the most recent release of JProfiler for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

What's new in this version:

New:
- Full support for virtual threads with a virtual thread async tracking type (new in Java 21)
- Added a garbage collector probe
- Added a JFR event browser when opening JFR snapshots
- Opening very large JFR snapshots is now much faster
- JFR snapshots also show the GC probe
- Added support for JFR recording, also on remote machines, local or remote Docker container or on Kubernetes
- Added a gRPC probe and a gRPC remote request tracking type
- Near-zero overhead for full sampling when profiling Java 17+
- Probe events view: The type filter drop-down now allows the selection of multiple types
- Probe events view: When multiple events are selected, the cumulated call tree, CPU hot spots or probe hot spots are shown below the events table
- Probe events and control objects views: Scales for duration and throughput columns are now configurable in the view settings dialog.
- Probe events, control objects, current monitors and monitor history views: Multi-column filters with range editors for numeric values
- Probe events view: Histograms for event durations and recorded throughputs are shown at the bottom. Events can be filtered by selecting an interval in the histograms.
- Probe telemetries view: After selecting a time interval with the mouse, the events view will be shown with a corresponding time filter. This also works for probe telemetries that have been added to the VM telemetries.
- Probe call tree and hot spots view: Added a "Show events" action that will set a corresponding call stack or hot spots filter and show the probe events view
- The "Show events" action and the "Show in heap walker" actions in the control objects views of probes now support multiple selection of control objects
- In the telemetry overviews for VM telemetries and probe telemetries, the telemetries can be reordered via drag and drop
- VM telemetries that are based on recorded objects are now always shown, with actions to start recording and to show the recorded object views
- Selected probe telemetries can be added to the VM telemetry section with actions to start recording and to show the corresponding probe view
- Telemetries can be exported as SVG, the PNG export is still optionally available
- Current monitor data is now a snapshot rather than continuously updated. A corresponding trigger action and controller API method are available.
- Current monitors and locking graph views now show java.util.concurrent locks
- Current monitors and locking graph views now group similar threads. This makes it easier to interpret locking situations with many threads and is important for supporting virtual threads.
- Current monitors and locking graph are now also available in attach mode, for java.util.concurrent locks only
- Thread history and probe time line views: Threads can be reordered via drag and drop
- Thread history and probe time line views: Threads can be sorted by start time or alphabetically
- Flame graphs can be exported as SVG
- The tooltip in flame graphs is now pinnable, so hovering over the tree can be free of any obstructions from the tool tip
- Flame graph colorizations are now persisted
- "Show Source" and "Show Bytecode" context menu actions have been added to the flame graph
- In the attach dialog reduced the number of "unknown" processes, showing the Java home directory instead
- Support for attaching to Linux processes that were started by systemd with PrivateTmp=yes
- Support for attaching to Linux processes with namespaced mounts that make /var/tmp non-writable
- Support for profiling Java 21
- Added a "Modify classpath action" to script dialogs
- Telemetries that show rates, such as recorded throughputs, are now shown as histograms
- Reorganized probes into new categories: "Databases", "HTTP, RPC & JEE" and "JVM & Custom Probes"
- JProfiler now optionally offers to save a snapshot first when detaching from or stopping a profiled JVM
- Added support for profiling on Linux Alpine ARM
- Show the number of rows in the "total" line of monitor views
- Added a "Duplicate recording profile" action in the recording profiles dialog
- Locking history graph: Added a "Select between bookmarks" action

Fixed:
- Monitor history and locking history graph view: On Java 14+, some java.util.concurrent monitor objects were not shown for "waiting" entries.
- Expanding multiple levels in the probe hot spots views did not work
- View dialogs were sometimes centered on the wrong window
- The filter history for some trees was not persistent
- Call tree flame graphs: The "Set as root" action was not available on the bottom row