The tool analyzes Javacores and verbose gc logs and provides some reports like cpu/gc usage, blocked threads, some tips regarding the javacores. The tool can process the following data:
- Set of Javacores from the same run. Optionally you can add verbose.gc log file
- Single Javacore
The tool requires Python 3.9 or higher plus some packages - see more in REQUIREMENTS. Despite it is not mandatory, it is recommended in Python to use virtual environment to manage packages.
This is most common option which you will need in 99% of situations
Steps:
- Download and install Python. Usually the latest version is supported. Search for supported versions in REQUIREMENTS
- Create and activate Virtual Environment according to Creating virtual environments.
- Run the following command:
pip install javacore-analyser
ORpip install --extra-index-url https://test.pypi.org/simple/ javacore-analyser
- if you want an experimental version
This is recommended for geeks only:
- Repeat steps 1 and 2 from above
- Download the project files either from Releases or from main
- Extract the code and from code directory execute
pip install .
- Install application if not done yet
- Activate your created virtual environment according to activate Virtual Environment according to Creating virtual environments
- Run the following command from cmd:
javacore-analyser-batch <input-data> <generated-reports-dir>
Where<input-data>
is one of the following:
- The directory containing javacores and optionally verbose gc
- Archive (7z, zip, tar.gz, tar.bz2) containing the same
- List of the javacores separated by
;
character. Optionally you can add--separator
option to define your own separator. You can type the following command to obtain the help:
javacore-analyser-batch --help
-
Repeat steps 1-3 from cmd application
-
Execute the following command from cmd:
javacore_analyser_web --port=500 --reports-dir=/data/reports_dir
The first parameter set the port to use by application. If not specified, 5000 will be used.
The second parameter sets where the reports need to be stored. If not set, then thereports
dir will be created in current location.
Now you can type (http://localhost:5000/).
There is an unofficial Docker/Podman container managed by one of projects developers. Use the following command to start it:
podman run -it --rm --name javacore-analyser --mount type=bind,src="/local-reports-dir",target=/reports -p 5001:5000 ghcr.io/kkazmierczyk/javacore-analyser:latest
or
docker run -it --rm --name javacore-analyser --mount type=bind,src="/local-reports-dir",target=/reports -p 5001:5000 ghcr.io/kkazmierczyk/javacore-analyser:latest
The mount
option specifies where you want locally to store the reports. The reports in the container are stored in
/reports
directory. If you remove mount option, the application will work but the reports will not persist after
restart.
The application is running in the container on port 5000. By using -p 5001:5000
option, you specify to map container
port 5000 to port 5001 on your machine. Therefore the application will be available under http://localhost:5001/
.
If you have any questions or issues you can create a new issue here.
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
All source files must include a Copyright and License header. The SPDX license header is preferred because it can be easily scanned.
If you would like to see the detailed LICENSE click here.
#
# Copyright IBM Corp. {Year project was created} - {Current Year}
# SPDX-License-Identifier: Apache-2.0
#
- Krzysztof Kazmierczyk kazm@ibm.com
- Piotr Aniola Piotr.Aniola@ibm.com
- Tadeusz Janasiewicz t.janasiewicz@ibm.com
Another useful pages: