Skip to content
/ jifa Public
forked from eclipse-jifa/jifa

🔬 Online Heap Dump, GC Log, Thread Dump & JFR File Analyzer.

License

Notifications You must be signed in to change notification settings

DovOps/jifa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eclipse Jifa

License

Eclipse Jifa is a web application based on the Eclipse Memory Analyser Tooling (MAT) that provides HTTP services so that users can view the heap dump files analysis through a browser. Users can deploy Jifa to their production environments, and share the same analysis result to different users via their browsers, we believe it's a more convenient way to troubleshoot Java heap issues.

Introduction

Eclipse Jifa uses Vert.x as the main backend framework, and uses Vue 2.0 as the frontend framework.

Currently, supported features:

Heap dump Analysis:

  • Overview
  • Leak Suspects
  • GC Roots
  • Dominator Tree
  • Thread Overview
  • OQL
  • Other features

Jifa Sample

What's the goal?

We believe that many companies have encountered problems when troubleshooting Java problems in their production environments, and we hope that Jifa will grow into a popular product to help developers quickly resolve production problems.

Looking forward to more users and contributors :-)

How do I interact with the community?

  • Join the Eclipse Jifa developer community mailing list. The community primarily uses this list for project announcements and administrative discussions amongst committers. Questions are welcome here as well.
  • Ask a question or start a discussion via the GitHub issue.
  • Slack channel: Eclipse Jifa

Quick start

Jifa provides two modes of running: worker-only mode and full cluster mode. The following shows how to use the these two mode, respectively.

1. Worker-only mode

Only using worker as a standalone application is a simple and lightweight mode. In this mode, we only need to deploy the front end and worker side without any database configuration. To use this mode, we need to forward the http requests to the workers:

$ ./gradlew clean buildWorker
$ cd demo
$ ./run_worker.sh

2. Full cluster mode

The other mode is to start the entire Jifa, which includes worker and master. This mode needs to set up the database in advance.

Here we have prepared an example to demonstrate how to get started. First, configure the database:

$ cd demo
$ docker-compose build
$ docker-compose up # start mysql server

Then build the Jifa:

$ ./gradlew clean buildJifa

Artifacts can be found in the ./deploy directory. In production mode, we could use nginx as a static front-end resource server, and then start multiple workers and at least one master.

For the sake of simplicity, we demonstrate how to start them in development mode:

  • Frontend: cd frontend && npm run serve
  • Master node : ./gradlew :backend:master:run
  • Worker node : ./gradlew :backend:worker:run

This would work for further developing and testing.

Documents

1. Jifa Customization

1. Jifa Customization

2. Contribution

If you would like to contribute to Jifa, please check out the contribution guide for more information.

About

🔬 Online Heap Dump, GC Log, Thread Dump & JFR File Analyzer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 75.5%
  • Vue 14.9%
  • TypeScript 6.0%
  • JavaScript 3.0%
  • Perl 0.2%
  • SCSS 0.1%
  • Other 0.3%