Code Monkey home page Code Monkey logo

eclipse-jifa's Introduction

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

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 address production problems.

Looking forward to more users and contributors :-)

Links

  • 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.(Recommend)
  • Slack channel: Eclipse Jifa

Quick start

Prerequisites for building Jifa:

  • Install JDK 11, and make sure $JAVA_HOME is set properly
  • Install npm

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
$ ./gradlew 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

eclipse-jifa's People

Contributors

d-d-h avatar jasonk000 avatar y1yang0 avatar yangdaotan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.