-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Redo: Add profiling of already running tasks via SIGINFO/SIGUSR1 #44185
Redo: Add profiling of already running tasks via SIGINFO/SIGUSR1 #44185
Conversation
This appears to have fixed the issue, but CI is behind |
iob = IOBuffer() | ||
ioc = IOContext(IOContext(iob, stdout), :displaysize=>displaysize(stdout)) | ||
print(ioc, groupby = [:thread, :task]) | ||
Base.print(stdout, String(resize!(iob.data, iob.size))) |
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.
I am not sure where you found the privacy-violating resize!
accessor, but we have take!
for this:
Base.print(stdout, String(take!(iob.data)))
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.
Great question. I usually do take!
I'll try to find where I copied that from.
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.
I can't find where I got it from.. weird.
Applying suggestions #44199
static double profile_autostop_time = -1.0; | ||
static double profile_peek_duration = 1.0; // seconds | ||
|
||
double jl_get_profile_peek_duration(void) { |
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.
style nit: functions start with {
on the next line
double jl_get_profile_peek_duration(void) { | |
double jl_get_profile_peek_duration(void) | |
{ |
} | ||
void jl_set_profile_peek_duration(double t) { | ||
profile_peek_duration = t; | ||
return; |
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.
style nit: return is not needed
return; |
…iaLang#44185) * Redo: Add profiling of already running tasks via SIGINFO/SIGUSR1 * fix precompile script
…iaLang#44185) * Redo: Add profiling of already running tasks via SIGINFO/SIGUSR1 * fix precompile script
…iaLang#44185) * Redo: Add profiling of already running tasks via SIGINFO/SIGUSR1 * fix precompile script
Redo of #43179 (which has been reverted)
I overlooked buildkite build hangs.
It turns out the precompile script revised during review was bad but for some reason it didn't error on the buildbots, and may have caused the hangs on buildkite. TBC.