-
Notifications
You must be signed in to change notification settings - Fork 978
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Implement Red Hat's Shenandoah GC parsing #187
Conversation
Very cool Mart. Does it ignore datetimestamps? Maybe we need some common infrastructure for Java 9 unified GC Logs. |
@bernd: should it ignore datetimestamps?
And yes: The more gc algorithms with unified logging should be supported, the more need for common infrastructure / tools will arise. Probably it is best to go step by step and see what's needed, when more algorithms are added.
…-------- Original Message --------
From: Bernd <notifications@github.com>
Sent: 10 May 2017 21:58:56 CEST
To: chewiebug/GCViewer <GCViewer@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Subject: Re: [chewiebug/GCViewer] Implement Red Hat's Shenandoah GC parsing (#187)
Very cool Mart. Does it ignore datetimestamps? Maybe we need some common infrastructure for Java 9 unified GC Logs.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#187 (comment)
|
Currently supports the default configuration of Xlog, i.e. the format With -Xlog::filename:timenanos datetimestamps can be displayed as That can be easily added, if deemed necessary. EDIT: Here's an informative presentation at JavaOne about Unified Logging. |
A few comments, which might be addressed later: |
Codecov Report
@@ Coverage Diff @@
## develop #187 +/- ##
=============================================
+ Coverage 62.55% 62.72% +0.17%
- Complexity 1264 1291 +27
=============================================
Files 140 142 +2
Lines 8057 8191 +134
Branches 1290 1314 +24
=============================================
+ Hits 5040 5138 +98
- Misses 2538 2561 +23
- Partials 479 492 +13
Continue to review full report at Codecov.
|
@ophillan by the way: I'll do the 1.35 release sometime during the next few weeks. After that, I'll merge your pull request. @shipilev thank you for your comments. I will merge this pull request as it is to have preliminary support for Shenandoah. Improvements like the ones you mention can be added later. |
No problem with me. Ask away if you need any Shenandoah-specific questions answered. |
8e1a4d8
to
df1d147
Compare
"Pause Full (System.gc())" is another frequent event. |
Added Shenandoah GC log parsing functionality to GCViewer. Currently parsing all 6 main GC events of Shenandoah - initial mark, final mark, concurrent marking, concurrent evacuation, concurrent reset and allocation failure events. Due to concurrent evacuation, some of the statistics displayed in previous parsers are not used in Shenandoah parser.
This is a part of my BSc thesis in University of Tartu, Estonia.
EDIT: Currently supports the default -Xlog configuration, i.e. the equivalent of: -Xlog:all=warning:stderr:uptime,level,tags.
More info:
Shenandoah's OpenJDK wiki
Building latest OpenJDK9 (with Shenandoah GC)
Since it might be a hassle to set up OpenJDK just for this, added logs for testing:
shenandoah_GC_artificial_memory_leak_logs.txt
shenandoah_GC_logs.txt