Actions
Feature #10602
closedSupport multithreaded profiling
    Feature #10602:
    Support 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
        
        
     Updated by Anonymous
          Updated by Anonymous