Home / File/ ReactProfilerTimer.js — react Source File

ReactProfilerTimer.js — react Source File

Architecture documentation for ReactProfilerTimer.js, a javascript file in the react codebase. 8 imports, 14 dependents.

File javascript BabelCompiler Validation 8 imports 14 dependents 28 functions

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

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