ReactProfilerTimer.js — react Source File
Architecture documentation for ReactProfilerTimer.js, a javascript file in the react codebase. 8 imports, 14 dependents.
Entity Profile
Dependency Diagram
graph LR e054b9c7_41f1_c7f7_97bb_98b6a445e94b["ReactProfilerTimer.js"] 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f d73e9290_2d2e_5d3f_97dd_84929f205c77["ReactFiberWorkLoop.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> d73e9290_2d2e_5d3f_97dd_84929f205c77 768f6d67_77c1_be19_5596_a943eab59e05["ReactFiberLane.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> 768f6d67_77c1_be19_5596_a943eab59e05 3c1744da_8f82_b464_9a56_73fd7302132b["ReactCapturedValue.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> 3c1744da_8f82_b464_9a56_73fd7302132b a6668d1d_397d_7807_719d_fdecf552fa4a["ReactFiberConfig.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> a6668d1d_397d_7807_719d_fdecf552fa4a e2d659a0_137e_44c3_6d74_509023d250de["getComponentNameFromFiber.js"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> e2d659a0_137e_44c3_6d74_509023d250de 8344de1b_978c_be0f_eebd_38ccc4962a93["ReactFeatureFlags"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> 8344de1b_978c_be0f_eebd_38ccc4962a93 cf0374be_82da_b932_450f_9145a907b064["scheduler"] e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> cf0374be_82da_b932_450f_9145a907b064 ee850b36_fc0b_9bb2_5b69_58d705aef9a5["ReactFiberApplyGesture.js"] ee850b36_fc0b_9bb2_5b69_58d705aef9a5 --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b 6332839f_b3f6_a025_4ca8_e9753718df71["ReactFiberAsyncAction.js"] 6332839f_b3f6_a025_4ca8_e9753718df71 --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b 0be70812_cc0c_b210_f84f_8e61dd5f831c["ReactFiberBeginWork.js"] 0be70812_cc0c_b210_f84f_8e61dd5f831c --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b 3805476a_1924_0e35_fff7_6afad197a523["ReactFiberClassComponent.js"] 3805476a_1924_0e35_fff7_6afad197a523 --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b 8f5342bb_933e_6410_b584_cc120047394a["ReactFiberCommitEffects.js"] 8f5342bb_933e_6410_b584_cc120047394a --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b 08bb6a7c_2c07_1880_07ef_82d9f5cf2d76["ReactFiberCommitViewTransitions.js"] 08bb6a7c_2c07_1880_07ef_82d9f5cf2d76 --> e054b9c7_41f1_c7f7_97bb_98b6a445e94b style e054b9c7_41f1_c7f7_97bb_98b6a445e94b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
import type {Fiber} from './ReactInternalTypes';
import type {SuspendedReason} from './ReactFiberWorkLoop';
import type {Lane, Lanes} from './ReactFiberLane';
import type {CapturedValue} from './ReactCapturedValue';
import {
isTransitionLane,
isBlockingLane,
isGestureRender,
includesTransitionLane,
includesBlockingLane,
NoLanes,
} from './ReactFiberLane';
import {resolveEventType, resolveEventTimeStamp} from './ReactFiberConfig';
import {
enableProfilerCommitHooks,
enableProfilerNestedUpdatePhase,
enableProfilerTimer,
enableComponentPerformanceTrack,
} from 'shared/ReactFeatureFlags';
import getComponentNameFromFiber from './getComponentNameFromFiber';
import {isAlreadyRendering} from './ReactFiberWorkLoop';
// Intentionally not named imports because Rollup would use dynamic dispatch for
// CommonJS interop named imports.
import * as Scheduler from 'scheduler';
const {unstable_now: now} = Scheduler;
const createTask =
// eslint-disable-next-line react-internal/no-production-logging
__DEV__ && console.createTask
? // eslint-disable-next-line react-internal/no-production-logging
console.createTask
: (name: string) => null;
export const REGULAR_UPDATE: UpdateType = 0;
export const SPAWNED_UPDATE: UpdateType = 1;
export const PINGED_UPDATE: UpdateType = 2;
export opaque type UpdateType = 0 | 1 | 2;
export let renderStartTime: number = -0;
export let commitStartTime: number = -0;
export let commitEndTime: number = -0;
export let commitErrors: null | Array<CapturedValue<mixed>> = null;
// ... (652 more lines)
Domain
Subdomains
Functions
- bubbleNestedEffectDurations()
- clampBlockingTimers()
- clampGestureTimers()
- clampIdleTimers()
- clampRetryTimers()
- clampTransitionTimers()
- clearAsyncTransitionTimer()
- clearBlockingTimers()
- clearGestureTimers()
- clearGestureUpdates()
- clearTransitionTimers()
- createTask()
- enableProfilerTimer()
- hasScheduledGestureTransitionWork()
- hasScheduledTransitionWork()
- popComponentEffectDuration()
- popComponentEffectStart()
- popNestedEffectDurations()
- pushComponentEffectDuration()
- pushComponentEffectStart()
- pushNestedEffectDurations()
- resetComponentEffectTimers()
- startAsyncTransitionTimer()
- startHostActionTimer()
- startPingTimerByLanes()
- startUpdateTimerByLane()
- startYieldTimer()
- trackSuspendedTime()
Dependencies
Imported By
- packages/react-reconciler/src/ReactFiberApplyGesture.js
- packages/react-reconciler/src/ReactFiberAsyncAction.js
- packages/react-reconciler/src/ReactFiberBeginWork.js
- packages/react-reconciler/src/ReactFiberClassComponent.js
- packages/react-reconciler/src/ReactFiberCommitEffects.js
- packages/react-reconciler/src/ReactFiberCommitViewTransitions.js
- packages/react-reconciler/src/ReactFiberCommitWork.js
- packages/react-reconciler/src/ReactFiberCompleteWork.js
- packages/react-reconciler/src/ReactFiberHooks.js
- packages/react-reconciler/src/ReactFiberReconciler.js
- packages/react-reconciler/src/ReactFiberRootScheduler.js
- packages/react-reconciler/src/ReactFiberTransition.js
- packages/react-reconciler/src/ReactFiberUnwindWork.js
- packages/react-reconciler/src/ReactFiberWorkLoop.js
Source
Frequently Asked Questions
What does ReactProfilerTimer.js do?
ReactProfilerTimer.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in ReactProfilerTimer.js?
ReactProfilerTimer.js defines 28 function(s): bubbleNestedEffectDurations, clampBlockingTimers, clampGestureTimers, clampIdleTimers, clampRetryTimers, clampTransitionTimers, clearAsyncTransitionTimer, clearBlockingTimers, clearGestureTimers, clearGestureUpdates, and 18 more.
What does ReactProfilerTimer.js depend on?
ReactProfilerTimer.js imports 8 module(s): ReactCapturedValue.js, ReactFeatureFlags, ReactFiberConfig.js, ReactFiberLane.js, ReactFiberWorkLoop.js, ReactInternalTypes.js, getComponentNameFromFiber.js, scheduler.
What files import ReactProfilerTimer.js?
ReactProfilerTimer.js is imported by 14 file(s): ReactFiberApplyGesture.js, ReactFiberAsyncAction.js, ReactFiberBeginWork.js, ReactFiberClassComponent.js, ReactFiberCommitEffects.js, ReactFiberCommitViewTransitions.js, ReactFiberCommitWork.js, ReactFiberCompleteWork.js, and 6 more.
Where is ReactProfilerTimer.js in the architecture?
ReactProfilerTimer.js is located at packages/react-reconciler/src/ReactProfilerTimer.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-reconciler/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free