dillon1000/react
Commit
Browse files Add Profiler component for collecting new render timing info (#12745)
Add a new component type, Profiler, that can be used to collect new render time metrics. Since this is a new, experimental API, it will be exported as React.unstable_Profiler initially. Most of the functionality for this component has been added behind a feature flag, enableProfileModeMetrics. When the feature flag is disabled, the component will just render its children with no additional behavior. When the flag is enabled, React will also collect timing information and pass it to the onRender function (as described below).
Changed paths31 files
First-parent comparisonpackages/react-dom/src/server/ReactPartialRenderer.js ModifiedM packages/react-is/src/ReactIs.js ModifiedM packages/react-is/src/__tests__/ReactIs-test.js ModifiedM packages/react-reconciler/src/ReactFiber.js ModifiedM packages/react-reconciler/src/ReactFiberBeginWork.js ModifiedM packages/react-reconciler/src/ReactFiberCommitWork.js ModifiedM packages/react-reconciler/src/ReactFiberCompleteWork.js ModifiedM packages/react-reconciler/src/ReactFiberScheduler.js ModifiedM packages/react-reconciler/src/ReactFiberUnwindWork.js ModifiedA packages/react-reconciler/src/ReactProfilerTimer.js AddedM packages/react-reconciler/src/ReactTypeOfMode.js ModifiedM packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js ModifiedM packages/react-reconciler/src/__tests__/__snapshots__/ReactIncrementalPerf-test.internal.js.snap ModifiedM packages/react-test-renderer/src/ReactTestRenderer.js ModifiedM packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js ModifiedM packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js ModifiedM packages/react/src/React.js ModifiedA packages/react/src/__tests__/ReactProfiler-test.internal.js AddedA packages/react/src/__tests__/__snapshots__/ReactProfiler-test.internal.js.snap AddedM packages/shared/ReactFeatureFlags.js ModifiedM packages/shared/ReactSymbols.js ModifiedM packages/shared/ReactTypeOfWork.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-fabric-fb.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-fabric-oss.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-fb.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-oss.js ModifiedM packages/shared/forks/ReactFeatureFlags.persistent.js ModifiedM packages/shared/forks/ReactFeatureFlags.test-renderer.js ModifiedM packages/shared/forks/ReactFeatureFlags.www.js ModifiedM packages/shared/getComponentName.js ModifiedM packages/shared/isValidElementType.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…