Skip to content

feat: parse G1 Unified GC pause summaries - #1

Merged
neonjava merged 2 commits into
mainfrom
feat/day-2-gc-parser
Oct 14, 2026
Merged

neonjava merged 2 commits into
mainfrom
feat/day-2-gc-parser

Conversation

@neonjava

Copy link
Copy Markdown
Owner

Summary

  • Parse a bounded, streaming subset of G1 Unified GC pause summaries into typed Rust events with GC ID, category, heap bytes, duration nanoseconds, optional uptime, and source context.
  • Add jvmdelta gc inspect with category and skipped-line counts. Malformed supported summaries and unreadable files exit nonzero.
  • Add synthetic JDK 17/21-style fixtures, selected real JDK 25 output, format support documentation, and tests.

Verification

  • cargo fmt --all -- --check passed.
  • cargo clippy --workspace --all-targets -- -D warnings passed.
  • cargo test --workspace passed: 13 tests.
  • cargo build --workspace --release passed.
  • cargo run -p jvmdelta-cli -- --help passed.
  • cargo run -p jvmdelta-cli -- gc inspect tests/fixtures/jdk25-g1-real.log passed: 2 supported events and 4 unrelated entries skipped.
  • Negative CLI paths returned exit status 1 with line-numbered malformed input and file-open errors.
  • The 10,000-event stress test passed.

Limits

  • JDK 17 and 21 fixtures are synthetic because those JDKs are not installed locally. A JDK 25 fixture was captured from a local G1 run.
  • Only selected info/gc G1 summary syntax is interpreted. This does not implement comparison, regression detection, JFR, or reports.

@coderabbitai

coderabbitai Bot commented Oct 13, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 01761d81-431c-4ffd-b82c-94e6a9253d48
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@neonjava
neonjava merged commit 65a58f9 into main Oct 14, 2026
3 checks passed
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.

1 participant