microsoft / microsoft/gctoolkit
GCToolKit cannot parse `G1Young` event from JDK8's gc log.
Nobody has claimed this yet.
- 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:
- Download the reproduce code and gc log
- Compile and run the program.
This program will parse the events from the gc log ('g1_8.log'), and print theirGarbageCollectionTypes. - 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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