Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Profiler plug-in for DevTools #1069
The profiler will degrade gracefully if the interaction-tracking features are not available at runtime.
Follow Up Work
No profiling data
No timing data for commit
Fiber render chart
gaearon left a comment
I haven't reviewed in detail but from a glance looks good. I see a lot of copying — wondering if you have any memory usage concern, and whether it's likely the integration will introduce more GC pressure to potentially skew the measurements. I'd like to play with it in the coming days (maybe let's set up a video call)?
It's possible, although I think the impact of this is minimal (compared to the immutable data structure we're already maintaining) unless you actually profile in which case... I still think we're maybe doing the best thing I could think of.
Sounds good to me!
Okay– I'm landing this beast. I'll rebase my other less-clutter PR once it's landed and fix up the two issues you mentioned on it.
Let's setup a time (at your convenience) to do a video chat about the profiler and if anything's uncovered, I'll do a follow up.
@bvaughn, is this feature actually supposed to work as of devTools v3.3.1? I see the Profiler tab, and I'm able to begin recording (or at least it looks that way according to the UI), but when I finish recording, I get nothing -- it looks as if no data has been collected.
No, it isn't expected to work until we release the next minor. Sorry for the confusion.
The profiler shows if it detects a profiling-capable version of React, which it does by checking for the presence of a specific profiling attribute that actually does exist in 16.4. In hindsight, I should have checked for
Regardless, the plan (based on feedback from Sophie) is to show the tab always and promote upgrading to a profiling-capable build of React if it's not supported. I was planning on making that change soon. As part of that, I'll change the feature detection to use