Skip to content
  • Daisuke Aritomo's avatar
    4adf418b
    [Feature #10602] Add new API rb_profile_thread_frames() · 4adf418b
    Daisuke Aritomo authored
    
    
    Add a new API rb_profile_thread_frames(), which is essentialy a
    per-thread version of rb_profile_frames().
    
    While the original rb_profile_frames() always returns results about the
    current active thread obtained by GET_EC(), this new API takes a Thread
    to be profiled as an argument.
    
    This should come in handy when profiling I/O-bound programs such as
    webapps, since this new API allows us to learn about Threads performing
    I/O (which do not have the GVL).
    
    Profiling worker threads (such as Sidekiq workers) may be another
    application.
    
    Implements [Feature #10602]
    
    Co-authored-by: default avatarMike Perham <mike@perham.net>
    4adf418b
    [Feature #10602] Add new API rb_profile_thread_frames()
    Daisuke Aritomo authored
    
    
    Add a new API rb_profile_thread_frames(), which is essentialy a
    per-thread version of rb_profile_frames().
    
    While the original rb_profile_frames() always returns results about the
    current active thread obtained by GET_EC(), this new API takes a Thread
    to be profiled as an argument.
    
    This should come in handy when profiling I/O-bound programs such as
    webapps, since this new API allows us to learn about Threads performing
    I/O (which do not have the GVL).
    
    Profiling worker threads (such as Sidekiq workers) may be another
    application.
    
    Implements [Feature #10602]
    
    Co-authored-by: default avatarMike Perham <mike@perham.net>
Loading