explaingit

kcpeppe/gcsee-jma

Analysis updated 2026-05-18

42JavaAudience · developerComplexity · 2/5Setup · moderate

TLDR

A Quarkus web app that turns a Java garbage collection log into an interactive dashboard of charts and analytics.

Mindmap

mindmap
  root((gcsee-jma))
    What it does
      Parses GC logs
      Interactive dashboard
      Per feature charts
    Tech stack
      Java
      Quarkus
      Docker
      Maven
    Use cases
      Diagnose memory pauses
      Compare collector types
      CI health checks
    Audience
      Java developers
      Performance engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Upload a GC log to see summary, analytics, and per feature charts of a Java app's garbage collection behavior.

USE CASE 2

Diagnose Java memory pauses or leaks by visualizing G1, Parallel, Serial, CMS, or ZGC log data.

USE CASE 3

Run the tool as a Docker container in a CI pipeline to review GC health after each build.

What is it built with?

JavaQuarkusDockerMaven

How does it compare?

kcpeppe/gcsee-jmazjuncher/yunqi-youxianghappynewyear1995/uba-x
Stars424447
LanguageJavaJavaJava
Setup difficultymoderatemoderatehard
Complexity2/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Java 25+ or Docker, plus a GC log file to analyze.

In plain English

gcsee-jma is a Java Memory Analyzer built on the Quarkus web framework. It takes a garbage collection (GC) log file produced by a running Java program and turns it into an interactive web dashboard, with a summary view, analytics, and charts broken down by feature. It supports logs from several garbage collectors, including G1, Parallel, Serial, CMS, and generational ZGC, and it is built on top of an existing parser called GCSee. There are two ways to run it. The simplest is to download the release jar file from the project's Releases page and run it directly with Java 25 or newer, from any vendor such as Temurin, Oracle, or Azul. After a few seconds the app starts a local web server, and you open it in your browser to upload and analyze a GC log. The second way is to run it as a container with Docker, which bundles its own Java runtime so you do not need one installed. Both the standalone jar and the container image are published for each release, and the container supports both Intel and Apple Silicon machines. If you want to build the project from source instead of using a release, you need JDK 25 and Maven 3.9 or newer, and can use Maven commands to build a runnable jar or run the app in a hot reload development mode. This tool is aimed at Java developers and performance engineers who need to understand why a Java application is pausing, running out of memory, or behaving unpredictably, by visualizing what its garbage collector was actually doing over time. Releases are automated: pushing a version tagged commit triggers a workflow that builds the jar, publishes a GitHub release, and builds and pushes the container image.

Copy-paste prompts

Prompt 1
Help me run gcsee-jma as a Docker container and analyze a GC log I have locally.
Prompt 2
Explain what a G1 garbage collector log tells me once it is loaded into gcsee-jma's dashboard.
Prompt 3
Walk me through building gcsee-jma from source with Maven and JDK 25.
Prompt 4
Show me how to set JAVA_OPTS heap size flags when running gcsee-jma's container image.

Frequently asked questions

What is gcsee-jma?

A Quarkus web app that turns a Java garbage collection log into an interactive dashboard of charts and analytics.

What language is gcsee-jma written in?

Mainly Java. The stack also includes Java, Quarkus, Docker.

How hard is gcsee-jma to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gcsee-jma for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.