Skip to content

Understanding the Report

A walk-through of every section the EasyGC analyzer produces.

Key indicators

MetricWhat it meansHealthy range
GC Throughput% of total time the application (not the collector) runs≥ 95%
Avg PauseMean duration of stop-the-world collectionsDepends on SLO; < 50 ms is comfortable
Max / P99 PauseWorst and 99th-percentile pauses — the ones users feel< 1 s
Young GC countNumber of minor collectionsNormal to be frequent
Full GC countNumber of stop-the-world whole-heap collections0 — any Full GC deserves investigation
Total Pause TimeSum of all stop-the-world time in the logCompare against SLA budgets
Allocation RateAverage object allocation speed (MB/s)Watch after code changes
Log Time SpanWall-clock / uptime range the log coversLonger = more reliable

JVM Memory

The maximum capacities observed in the log: total heap, young gen, old gen and metaspace. This tells you the effective -Xmx / -Xmn (or region) settings without touching the JVM.

TIP

Young/Old breakdown requires Java 8 style detailed logs. Unified logs (-Xlog:gc*) report whole-heap numbers; enable -Xlog:gc+heap* for region details.

Charts

  • Heap Usage Around GC — the sawtooth of heap occupancy. The After GC line should oscillate in a stable band. If it climbs step by step, you are looking at retained objects that never get collected — a leak.
  • GC Pause Times — every stop-the-world event over time, stacked by kind (young / full / CMS remark). Look for outliers and periodic spikes.
  • GC Causes — what triggered each collection. Allocation Failure is healthy; System.gc(), Metaspace or Promotion failed are leads to follow.

Recommendations

Rules-based advice derived from your actual data, each with a severity:

  • Critical — act now (memory leak, throughput below 50%).
  • Warning — tune soon (Full GCs present, explicit GC calls, long max pause).
  • Info — optimization opportunities (oversized heap, few events, humongous allocations).
  • Good — patterns worth keeping (healthy throughput, ZGC sub-millisecond pauses).

GC Events

The full parsed event list: uptime, type, trigger cause, pause duration and heap sizes before/after every collection. Use it to correlate GC activity with your own application logs by timestamp.