Actions
Feature #10602
closedSupport multithreaded profiling
Status:
Closed
Assignee:
-
Target version:
-
Description
The current rb_profile_frames
captures the frame for whatever thread is current. This makes profiling a multithreaded system impossible. I'd like a rb_thread_profile_frames
which captures a given thread. It seems like it would be a very simple change, something like this:
int
rb_profile_frames(int start, int limit, VALUE *buff, int *lines)
{
rb_profile_frames(start, limit, buff, lines, GET_THREAD())
}
int
rb_thread_profile_frames(int start, int limit, VALUE *buff, int *lines, rb_thread_t *th)
{
int i;
rb_control_frame_t *cfp = th->cfp, *end_cfp = RUBY_VM_END_CONTROL_FRAME(th);
...
This way profiling gems could lock to a specific thread.
Actions
Like2
Like0Like0Like0Like0