Skip to content

What is Eclipse Jifa?

Introduction

Eclipse Jifa (abbreviated as Jifa) stands for "Java Issues Finding Assistant". This project originated from an internal system which was designed to improve the efficiency of diagnosing Java heap related issues that occurred in the production environment. It was open sourced and contributed to the Eclipse Foundation in 2020.

Currently, Jifa primarily supports the following features:

In terms of the design, Jifa consists of two main parts:

  • Server: a standard SpringBoot 3 application.

  • Web UI: based on Vue 3, Element Plus and other packages.

In earlier versions, Server was implemented using Eclipse Vert.x, and Web UI was implemented using Vue 2 and Element UI.

How to Use?

The main usage workflow consists of three steps: obtaining files, uploading files, and analyzing files.

Taking the analysis of a heap dump as an example, users can initiate an analysis through the following steps:

  1. Obtain a heap dump. Users can generate a new heap dump using commands such as jmap or jcmd.

    shell
    $ jmap -dump:format=b,file=<file> <pid>
    $ jmap -dump:format=b,file=<file> <pid>
    shell
    $ jcmd <pid> GC.heap_dump filename=<file>
    $ jcmd <pid> GC.heap_dump filename=<file>
  2. Upload the heap dump. Various transfer methods are supported, such as local file upload and S3.

    Upload

  3. Do analysis.

    Upload