Skip to content

feat: GC log streaming analysis with --follow mode (#116)#121

Closed
rlaope wants to merge 1 commit intomasterfrom
feat/gc-log-streaming
Closed

feat: GC log streaming analysis with --follow mode (#116)#121
rlaope wants to merge 1 commit intomasterfrom
feat/gc-log-streaming

Conversation

@rlaope
Copy link
Copy Markdown
Owner

@rlaope rlaope commented Apr 12, 2026

Summary

  • Add real-time GC log monitoring: argus gclog gc.log --follow or -f
  • Tails growing GC log files, parses new events incrementally, shows live metrics

Changes

  • GcLogFollower โ€” tails GC log via RandomAccessFile, incremental line parsing
  • GcLogPatterns โ€” shared regex patterns for unified/legacy/ZGC/Shenandoah formats
  • RollingGcAnalysis โ€” circular buffer (default 1000 events) with live snapshot
  • GcLogCommand --follow/-f โ€” live terminal display with 2s refresh

Live Display

โ•ญโ”€ GC Log Monitor โ”€โ”€ gc.log โ”€โ”€ following โ”€โ”€ last update 2s ago โ”€โ”€โ•ฎ
โ”‚                                                                  โ”‚
โ”‚  Events          1,247 total, 1000 in window                     โ”‚
โ”‚  Throughput      97.2%                                           โ”‚
โ”‚                                                                  โ”‚
โ”‚  p50: 8ms   p95: 45ms   p99: 120ms   max: 340ms   avg: 12ms    โ”‚
โ”‚                                                                  โ”‚
โ”‚  [Ctrl+C] quit                                                   โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Test plan

  • GcLogFollowerTest โ€” 8 tests (readAll, poll, append, rolling window, format detection)
  • ./gradlew :argus-cli:test passes
  • Manual test with live GC log file

Closes #116

Add real-time GC log monitoring via argus gclog --follow/-f:

- GcLogFollower: tails growing GC log files via RandomAccessFile,
  incremental parsing of new lines with format auto-detection
- GcLogPatterns: shared regex patterns extracted for reuse
- RollingGcAnalysis: circular buffer with live metrics snapshot
  (percentiles, throughput, Full GC tracking, events/sec)
- GcLogCommand --follow: live-updating terminal display with
  2-second refresh, Ctrl+C to quit

Signed-off-by: rlaope <piyrw9754@gmail.com>
@rlaope
Copy link
Copy Markdown
Owner Author

rlaope commented Apr 12, 2026

Merged to master in 47b75d3

@rlaope rlaope closed this Apr 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: GC log streaming analysis (tail -f mode)

1 participant