blob: 6205bec950a85771f1f545159c42405310c2c0e7 [file] [log] [blame] [view]
---
layout: default
title: Java Profiling and Monitoring tools
grand_parent: Setup for Contributors
parent: Java Setup
---
<!--
© 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html
-->
# Java Profiling and Monitoring tools
{: .no_toc }
## Contents
{: .no_toc .text-delta }
1. TOC
{:toc}
---
There are many Java development tools available for analyzing Java application
run time performance. Eclipse has a set of plug-ins called TPTP which provides
Java application profiling/monitoring framework. However, TPTP is very slow and
I experienced frequent crash while profiling ICU4J codes. For ICU4J development,
I recommend several tools described below.
## VisualVM
VisualVM is available as a separate download since JDK 9. You can download the latest
version from here - <https://visualvm.github.io/download.html>
There is an Eclipse plug-in, which allow you to launch VisualVM when you run a
Java app on Eclipse. You can monitor CPU usage of the Java app, Memory usage
(heap/permgen), classes loaded, etc in GUI. You can also get basic profiling
information, such as CPU usage by class, memory allocations and generate heap
dump, force GC etc.