@@ -16,6 +16,8 @@ import {Update, Snapshot} from './ReactSideEffectTags';
1616import {
1717 debugRenderPhaseSideEffectsForStrictMode ,
1818 disableLegacyContext ,
19+ enableDebugTracing ,
20+ enableSchedulingProfiler ,
1921 warnAboutDeprecatedLifecycles ,
2022} from 'shared/ReactFeatureFlags' ;
2123import ReactStrictModeWarnings from './ReactStrictModeWarnings.new' ;
@@ -27,7 +29,7 @@ import invariant from 'shared/invariant';
2729import { REACT_CONTEXT_TYPE , REACT_PROVIDER_TYPE } from 'shared/ReactSymbols' ;
2830
2931import { resolveDefaultProps } from './ReactFiberLazyComponent.new' ;
30- import { StrictMode } from './ReactTypeOfMode' ;
32+ import { DebugTracingMode , StrictMode } from './ReactTypeOfMode' ;
3133
3234import {
3335 enqueueUpdate ,
@@ -55,8 +57,13 @@ import {
5557 scheduleUpdateOnFiber ,
5658} from './ReactFiberWorkLoop.new' ;
5759import { requestCurrentSuspenseConfig } from './ReactFiberSuspenseConfig' ;
60+ import { logForceUpdateScheduled , logStateUpdateScheduled } from './DebugTracing' ;
5861
5962import { disableLogs , reenableLogs } from 'shared/ConsolePatchingDev' ;
63+ import {
64+ markForceUpdateScheduled ,
65+ markStateUpdateScheduled ,
66+ } from './SchedulingProfiler' ;
6067
6168const fakeInternalInstance = { } ;
6269const isArray = Array . isArray ;
@@ -203,6 +210,19 @@ const classComponentUpdater = {
203210
204211 enqueueUpdate ( fiber , update ) ;
205212 scheduleUpdateOnFiber ( fiber , lane , eventTime ) ;
213+
214+ if ( __DEV__ ) {
215+ if ( enableDebugTracing ) {
216+ if ( fiber . mode & DebugTracingMode ) {
217+ const name = getComponentName ( fiber . type ) || 'Unknown' ;
218+ logStateUpdateScheduled ( name , lane , payload ) ;
219+ }
220+ }
221+ }
222+
223+ if ( enableSchedulingProfiler ) {
224+ markStateUpdateScheduled ( fiber , lane ) ;
225+ }
206226 } ,
207227 enqueueReplaceState ( inst , payload , callback ) {
208228 const fiber = getInstance ( inst ) ;
@@ -223,6 +243,19 @@ const classComponentUpdater = {
223243
224244 enqueueUpdate ( fiber , update ) ;
225245 scheduleUpdateOnFiber ( fiber , lane , eventTime ) ;
246+
247+ if ( __DEV__ ) {
248+ if ( enableDebugTracing ) {
249+ if ( fiber . mode & DebugTracingMode ) {
250+ const name = getComponentName ( fiber . type ) || 'Unknown' ;
251+ logStateUpdateScheduled ( name , lane , payload ) ;
252+ }
253+ }
254+ }
255+
256+ if ( enableSchedulingProfiler ) {
257+ markStateUpdateScheduled ( fiber , lane ) ;
258+ }
226259 } ,
227260 enqueueForceUpdate ( inst , callback ) {
228261 const fiber = getInstance ( inst ) ;
@@ -242,6 +275,19 @@ const classComponentUpdater = {
242275
243276 enqueueUpdate ( fiber , update ) ;
244277 scheduleUpdateOnFiber ( fiber , lane , eventTime ) ;
278+
279+ if ( __DEV__ ) {
280+ if ( enableDebugTracing ) {
281+ if ( fiber . mode & DebugTracingMode ) {
282+ const name = getComponentName ( fiber . type ) || 'Unknown' ;
283+ logForceUpdateScheduled ( name , lane ) ;
284+ }
285+ }
286+ }
287+
288+ if ( enableSchedulingProfiler ) {
289+ markForceUpdateScheduled ( fiber , lane ) ;
290+ }
245291 } ,
246292} ;
247293
0 commit comments