Skip to content
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

Fix GC profiling timing #214

Merged
merged 1 commit into from Jul 12, 2023
Merged

Fix GC profiling timing #214

merged 1 commit into from Jul 12, 2023

Conversation

tenderlove
Copy link
Collaborator

We were recording GC profile timestamps inside the VM postponed job that flushes temporary information. The postponed job could be run much later than the sample was actually taken, so this commit records a timestamp in the signal handler when there is a GC event.

It only records one time stamp, so if there are multiple GC events in a row, we have to assume that the total duration spent in GC starts from the first time stamp and extends until the timestamp of the next non-GC sample. In other words, we don't record a correct timestamp for each GC sample, only the first one.

We were recording GC profile timestamps inside the VM postponed job that
flushes temporary information.  The postponed job could be run much
later than the sample was actually taken, so this commit records a
timestamp in the signal handler when there is a GC event.

It only records one time stamp, so if there are multiple GC events in a
row, we have to assume that the total duration spent in GC starts from
the first time stamp and extends until the timestamp of the next non-GC
sample.  In other words, we don't record a correct timestamp for each GC
sample, only the first one.
@tenderlove tenderlove merged commit 726a172 into master Jul 12, 2023
13 of 14 checks passed
@tenderlove tenderlove deleted the fix-gc-times branch July 12, 2023 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants