Skip to content

Better feature detection for DevTools Profiler plug-in #13148

Closed
@bvaughn

Description

@bvaughn

(Regarding the experimental React.unstable_Profiler API and reactjs/rfcs/pull/51.)

PR #13058 changed the behavior of React profiling builds to opt host roots into ProfileMode if the React DevTools extension is detected. This was necessary in order to have accurate tree base time measurements for the visual flame graphs.

The Profiler plug-in for DevTools does feature detection to determine if it's enabled by looking at each root and seeing if any of the fibers contain an actualDuration attribute,

The problem is that the actualDuration attribute will be present on v16.4 fibers, which pre-date PR #13058. As a result, the Profiler UI may enable itself with versions of React that it cannot work correctly with.

Perhaps an easy solution would be to rename one of the unstable_Profiler's fiber attributes prior to the next minor release (e.g. treeBaseTime -> treeBaseDuration) and change the DevTools Profiler to feature check using this new name instead.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions