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 CPU profiler latency #1658

Merged
merged 1 commit into from Oct 25, 2021
Merged

Fix CPU profiler latency #1658

merged 1 commit into from Oct 25, 2021

Conversation

Qard
Copy link
Collaborator

@Qard Qard commented Oct 25, 2021

The current profile must be stopped AFTER the next begins. This is because V8 will tear down the symbolizer thread when the active profile count reaches zero. This means the next profile started will spin up a new symbolizer thread. When this thread starts it streams in all the JIT location information which could block the JavaScript thread for a significant length of time.

The current profile must be stopped AFTER the next begins. This is because V8 will
tear down the symbolizer thread when the active profile count reaches zero. This
means the next profile started will spin up a new symbolizer thread. When this
thread starts it streams in all the JIT location information which could block the
JavaScript thread for a significant length of time.
@Qard Qard added the profiling label Oct 25, 2021
@Qard Qard requested a review from a team October 25, 2021 20:47
@Qard Qard merged commit 61ebb1b into master Oct 25, 2021
@Qard Qard deleted the fix-cpu-profiler-latency branch October 25, 2021 22:20
rochdev pushed a commit that referenced this pull request Nov 2, 2021
The current profile must be stopped AFTER the next begins. This is because V8 will
tear down the symbolizer thread when the active profile count reaches zero. This
means the next profile started will spin up a new symbolizer thread. When this
thread starts it streams in all the JIT location information which could block the
JavaScript thread for a significant length of time.
rochdev pushed a commit that referenced this pull request Nov 2, 2021
The current profile must be stopped AFTER the next begins. This is because V8 will
tear down the symbolizer thread when the active profile count reaches zero. This
means the next profile started will spin up a new symbolizer thread. When this
thread starts it streams in all the JIT location information which could block the
JavaScript thread for a significant length of time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants