-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Profile GC #606
base: pharo-10
Are you sure you want to change the base?
[WIP] Profile GC #606
Conversation
Class { | ||
#name : #VMTrace, | ||
#superclass : #Object, | ||
#instVars : [ | ||
'messageNodes' | ||
], | ||
#category : #'VMMaker-Tools' | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This class was used for execution trace analysis. Not related to this work.
I'll remove it (but save it in some place before)
scavengeLog ifNotNil: | ||
[self writeScavengeLog] | ||
[self writeScavengeLogAsSTON] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we want to control this 🤔
tenuringProportion := 0.9 | ||
tenuringProportion := 0.9. | ||
|
||
self openScavengeLog |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: open logs from the image side
self writeSTON: scavengeLogRecord toFile: scavengeLog. | ||
self fprintf: scavengeLog _: '\n---\n'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicated
fullGCLogRecord | ||
fullGCs: statFullGCs; | ||
fullUsecs: statFullGCUsecs; | ||
compactionUsecs: statCompactionUsecs; | ||
sweepUsecs: gcSweepEndUsecs; | ||
markUsecs: statMarkUsecs. | ||
|
||
self writeSTON: fullGCLogRecord toFile: scavenger logStream. | ||
self fprintf: scavenger logStream _: '\n---\n'. | ||
|
||
scavenger logStream fflush |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if
missing (similar to Scavenger)
Here is the work related to GC profiling (used for the IWST paper).
How to use it?
scavenge.log
(but it has info about the FullGCs also) will be generated in the current directoryWIP
Still need some work to be integrated.
I also want to be sure that performance is not affected (significantly) if the profiler is off.