The tool to review IBM Javacore files
Project description
Javacore Analyser
Scope
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
Installation and usage
Installation:
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.
Installing from pip
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 --pre javacore-analyser- if you want an experimental version
Installing from sources
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 .
Running the tool:
Running cmd application:
- 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>
or
python -m 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--separatoroption to define your own separator. - You can specify
--skip_boring=Falseif you want drill-down pages generated for all the threads, including the ones that do not do anything interesting. You can type the following command to obtain the help:
javacore-analyser-batch --helporpython -m javacore_analyser batch --help
Running web application:
-
Repeat steps 1-3 from cmd application
-
Execute the following command from cmd:
javacore_analyser_web --port=5000 --reports-dir=/data/reports_dir
or
python -m javacore_analyser web --port=5000 --reports-dir=/data/reports_dirThe 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 thereportsdir will be created in current location.
Now you can type (http://localhost:5000/).
Running container image
There is a 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/ibm/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/ibm/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/.
NOTE: If you get a PermissionError: [Errno 13] Permission denied: '/reports/wait2-debug.log' message,
try specifying a different folder as the src parameter value or use the
--volume option instead of --mount. Find more on
Issue #140.
Notes
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
License
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
#
Authors
- Krzysztof Kazmierczyk kazm@ibm.com
- Piotr Aniola Piotr.Aniola@ibm.com
- Tadeusz Janasiewicz t.janasiewicz@ibm.com
Another pages
Another useful pages:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file javacore_analyser-2.4.0.tar.gz.
File metadata
- Download URL: javacore_analyser-2.4.0.tar.gz
- Upload date:
- Size: 221.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3242c6f69183b9ec7fd920b8c1b819d8a921f8afab500646562d0d47ab36899a
|
|
| MD5 |
d0c6bf681c11e11b39cb144105a0333c
|
|
| BLAKE2b-256 |
cfb590aba9370dd10eb8dadae1d3143eb5fa853472949d6cad985c88ea6ea280
|
File details
Details for the file javacore_analyser-2.4.0-py3-none-any.whl.
File metadata
- Download URL: javacore_analyser-2.4.0-py3-none-any.whl
- Upload date:
- Size: 221.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
006080c57593b27fc7437c676831bf648811cfd259e47c8d8abf0083db181d20
|
|
| MD5 |
e8a46ff8cd1921d67f363cc544158932
|
|
| BLAKE2b-256 |
6355b31bab0aabf297284be664456396011c101fe2bde7d74c13dd60e680f08a
|