microsoft / microsoft/gctoolkit

GCToolKit cannot parse `G1Young` event from JDK8's gc log.

Open
#357 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
1.3k
Forks
177
Avg merge
1d 11h
Merged PRs (30d)
3

Description

Describe the bug
I first used JDK 8 and set -XX:+UseG1GC option to run a program, and exported the GC log (I will provide the link to the log file later). Then, when using GCToolKit to parse the log, I found that it could only parse some of the G1 events, such as ConcurrentRootRegionScan, ConcurrentMark, etc. But it could not parse G1Young and other PauseEvents.

To Reproduce
Steps to reproduce the behavior:

  1. Download the reproduce code and gc log
  2. Compile and run the program.
    This program will parse the events from the gc log ('g1_8.log'), and print their GarbageCollectionTypes.
  3. Check the output of gc log parsing.

Expected behavior
Print a series of events including G1Young

Actually behavior
Print a series of events like this:

ConcurrentRootRegionScan
ConcurrentMark
G1GCRemark
G1GCCleanup
ConcurrentRootRegionScan
G1GCConcurrentMark
ConcurrentRootRegionScan
ConcurrentMark

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked reproduce code and g1_8.log, then run the stated reproduction to inspect which events are emitted by the parser. Trace why the JDK 8 G1Young and other PauseEvents are omitted; done means the output includes G1Young alongside the other expected events.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.