Home / File/ Profiler.js — react Source File

Profiler.js — react Source File

Architecture documentation for Profiler.js, a javascript file in the react codebase. 44 imports, 1 dependents.

File javascript BabelCompiler Validation 44 imports 1 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  2e59ff66_9c56_6e37_8843_8e474e6b0d70["Profiler.js"]
  899cf357_78bc_8627_bd54_2c00e2c9fde2["ModalDialog.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 899cf357_78bc_8627_bd54_2c00e2c9fde2
  6c4f87a5_052e_5ad2_3388_1e4392b92a53["ProfilerContext.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 6c4f87a5_052e_5ad2_3388_1e4392b92a53
  1356ba82_c85f_323e_8c5f_e616c171f6ad["TabBar.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 1356ba82_c85f_323e_8c5f_e616c171f6ad
  cbbc189a_3397_6ee7_339c_6996a36ac0e5["TabBar"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> cbbc189a_3397_6ee7_339c_6996a36ac0e5
  e7351d91_39f5_aa1e_7502_e96f037bd3e3["ClearProfilingDataButton.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> e7351d91_39f5_aa1e_7502_e96f037bd3e3
  b157dc3f_6e89_a73b_bd2d_f2d92bc9ff14["ClearProfilingDataButton"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> b157dc3f_6e89_a73b_bd2d_f2d92bc9ff14
  54e7a598_e83a_4b14_3104_1fa62a034c31["CommitFlamegraph.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 54e7a598_e83a_4b14_3104_1fa62a034c31
  0d1451d1_cdc2_4b91_850a_b1eaf9cc7d3c["CommitFlamegraph"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 0d1451d1_cdc2_4b91_850a_b1eaf9cc7d3c
  0ad6c6d5_5d6d_2d8a_d957_e1433af66ea0["CommitRanked.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 0ad6c6d5_5d6d_2d8a_d957_e1433af66ea0
  06065863_ab85_3f88_85f6_552069252a4b["CommitRanked"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 06065863_ab85_3f88_85f6_552069252a4b
  56e5ec4a_e49d_d34a_3ddb_87540ffc05ef["RootSelector.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 56e5ec4a_e49d_d34a_3ddb_87540ffc05ef
  755e47c0_e5c9_31fe_5b64_14dd71e4ab41["RootSelector"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 755e47c0_e5c9_31fe_5b64_14dd71e4ab41
  8a53e3b1_7d98_d6cb_d776_c4171cd9ac5f["SidebarEventInfo.js"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 8a53e3b1_7d98_d6cb_d776_c4171cd9ac5f
  5b01c89b_94b5_111b_5a88_51bad01b2601["SidebarEventInfo"]
  2e59ff66_9c56_6e37_8843_8e474e6b0d70 --> 5b01c89b_94b5_111b_5a88_51bad01b2601
  style 2e59ff66_9c56_6e37_8843_8e474e6b0d70 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 * as React from 'react';
import {Fragment, useContext, useEffect, useRef, useEffectEvent} from 'react';
import {ModalDialog} from '../ModalDialog';
import {ProfilerContext} from './ProfilerContext';
import TabBar from '../TabBar';
import ClearProfilingDataButton from './ClearProfilingDataButton';
import CommitFlamegraph from './CommitFlamegraph';
import CommitRanked from './CommitRanked';
import RootSelector from './RootSelector';
import {Timeline} from 'react-devtools-timeline/src/Timeline';
import SidebarEventInfo from './SidebarEventInfo';
import RecordToggle from './RecordToggle';
import ReloadAndProfileButton from './ReloadAndProfileButton';
import ProfilingImportExportButtons from './ProfilingImportExportButtons';
import SnapshotSelector from './SnapshotSelector';
import SidebarCommitInfo from './SidebarCommitInfo';
import NoProfilingData from './NoProfilingData';
import RecordingInProgress from './RecordingInProgress';
import ProcessingData from './ProcessingData';
import ProfilingNotSupported from './ProfilingNotSupported';
import SidebarSelectedFiberInfo from './SidebarSelectedFiberInfo';
import SettingsModal from 'react-devtools-shared/src/devtools/views/Settings/SettingsModal';
import SettingsModalContextToggle from 'react-devtools-shared/src/devtools/views/Settings/SettingsModalContextToggle';
import {SettingsModalContextController} from 'react-devtools-shared/src/devtools/views/Settings/SettingsModalContext';
import portaledContent from '../portaledContent';
import {StoreContext} from '../context';
import {TimelineContext} from 'react-devtools-timeline/src/TimelineContext';

import styles from './Profiler.css';

function Profiler(_: {}) {
  const profilerRef = useRef<HTMLDivElement | null>(null);
  const isMac =
    typeof navigator !== 'undefined' &&
    navigator.platform.toUpperCase().indexOf('MAC') >= 0;

  const {
    didRecordCommits,
    isProcessingData,
    isProfiling,
    selectedCommitIndex,
    selectedFiberID,
    selectedTabID,
    selectTab,
    supportsProfiling,
    startProfiling,
    stopProfiling,
    selectPrevCommitIndex,
    selectNextCommitIndex,
  } = useContext(ProfilerContext);

// ... (187 more lines)

Domain

Subdomains

Frequently Asked Questions

What does Profiler.js do?
Profiler.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 Profiler.js?
Profiler.js defines 2 function(s): OnlyTimelineData, Profiler.
What does Profiler.js depend on?
Profiler.js imports 44 module(s): ClearProfilingDataButton, ClearProfilingDataButton.js, CommitFlamegraph, CommitFlamegraph.js, CommitRanked, CommitRanked.js, ModalDialog.js, NoProfilingData, and 36 more.
What files import Profiler.js?
Profiler.js is imported by 1 file(s): DevTools.js.
Where is Profiler.js in the architecture?
Profiler.js is located at packages/react-devtools-shared/src/devtools/views/Profiler/Profiler.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views/Profiler).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free