processTimelineEvent() — react Function Reference
Architecture documentation for the processTimelineEvent() function in preprocessData.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD 7e379096_4ef1_e90c_7e2b_b822b6321992["processTimelineEvent()"] a3f7147d_da0b_56dc_ffc9_a9e2bbc4526a["preprocessData.js"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|defined in| a3f7147d_da0b_56dc_ffc9_a9e2bbc4526a be28072d_a059_0346_2a4c_412726599426["preprocessData()"] be28072d_a059_0346_2a4c_412726599426 -->|calls| 7e379096_4ef1_e90c_7e2b_b822b6321992 35f4151a_c74e_04cd_4b5c_7a2eba78ddcf["processScreenshot()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 35f4151a_c74e_04cd_4b5c_7a2eba78ddcf c2290671_5bbb_a7c0_6eb6_947d1b9ad107["processEventDispatch()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| c2290671_5bbb_a7c0_6eb6_947d1b9ad107 98aa6b94_7c60_ba02_df3a_2946fdc2b80a["processResourceFinish()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 98aa6b94_7c60_ba02_df3a_2946fdc2b80a 614149a5_196a_f080_946e_e3a8ca5be0da["processResourceReceivedData()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 614149a5_196a_f080_946e_e3a8ca5be0da 1a7f67a4_c325_3ddc_3497_e8fb73a7d7df["processResourceReceiveResponse()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 1a7f67a4_c325_3ddc_3497_e8fb73a7d7df 3c1011e1_6a78_981d_8944_1d0e455061ed["processResourceSendRequest()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 3c1011e1_6a78_981d_8944_1d0e455061ed 95d63b61_4fb5_111c_5ac6_d1f83c8fe393["updateLaneToLabelMap()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 95d63b61_4fb5_111c_5ac6_d1f83c8fe393 4742a5ec_80ec_cb9d_6adb_2dfcc87c1cee["processReactComponentMeasure()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 4742a5ec_80ec_cb9d_6adb_2dfcc87c1cee 837e77b7_ba80_15a8_c355_0be6bcb7aec4["getLanesFromTransportDecimalBitmask()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 837e77b7_ba80_15a8_c355_0be6bcb7aec4 9fc35b5a_5690_5a53_fe19_60adb195e3af["throwIfIncomplete()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| 9fc35b5a_5690_5a53_fe19_60adb195e3af f6f77e64_55a8_8e0f_cde6_9f5856762b58["getLastType()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| f6f77e64_55a8_8e0f_cde6_9f5856762b58 facf3681_3bf5_7bbe_6910_334d216abf41["markWorkStarted()"] 7e379096_4ef1_e90c_7e2b_b822b6321992 -->|calls| facf3681_3bf5_7bbe_6910_334d216abf41 style 7e379096_4ef1_e90c_7e2b_b822b6321992 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-devtools-timeline/src/import-worker/preprocessData.js lines 430–805
function processTimelineEvent(
event: TimelineEvent,
/** Finalized profiler data up to `event`. May be mutated. */
currentProfilerData: TimelineData,
/** Intermediate processor state. May be mutated. */
state: ProcessorState,
) {
const {cat, name, ts, ph} = event;
const startTime = (ts - currentProfilerData.startTime) / 1000;
switch (cat) {
case 'disabled-by-default-devtools.screenshot':
processScreenshot(event, startTime, currentProfilerData, state);
break;
case 'devtools.timeline':
switch (name) {
case 'EventDispatch':
processEventDispatch(event, startTime, currentProfilerData, state);
break;
case 'ResourceFinish':
processResourceFinish(event, startTime, currentProfilerData, state);
break;
case 'ResourceReceivedData':
processResourceReceivedData(
event,
startTime,
currentProfilerData,
state,
);
break;
case 'ResourceReceiveResponse':
processResourceReceiveResponse(
event,
startTime,
currentProfilerData,
state,
);
break;
case 'ResourceSendRequest':
processResourceSendRequest(
event,
startTime,
currentProfilerData,
state,
);
break;
}
break;
case 'blink.user_timing':
if (name.startsWith('--react-version-')) {
const [reactVersion] = name.slice(16).split('-');
currentProfilerData.reactVersion = reactVersion;
} else if (name.startsWith('--profiler-version-')) {
const [versionString] = name.slice(19).split('-');
profilerVersion = parseInt(versionString, 10);
if (profilerVersion !== SCHEDULING_PROFILER_VERSION) {
throw new InvalidProfileError(
`This version of profiling data (${versionString}) is not supported by the current profiler.`,
);
}
} else if (name.startsWith('--react-lane-labels-')) {
const [laneLabelTuplesString] = name.slice(20).split('-');
updateLaneToLabelMap(currentProfilerData, laneLabelTuplesString);
} else if (name.startsWith('--component-')) {
processReactComponentMeasure(
name,
startTime,
currentProfilerData,
state,
);
} else if (name.startsWith('--schedule-render-')) {
const [laneBitmaskString] = name.slice(18).split('-');
currentProfilerData.schedulingEvents.push({
type: 'schedule-render',
lanes: getLanesFromTransportDecimalBitmask(laneBitmaskString),
timestamp: startTime,
warning: null,
});
} else if (name.startsWith('--schedule-forced-update-')) {
Domain
Subdomains
Calls
- getLanesFromTransportDecimalBitmask()
- getLastType()
- markWorkCompleted()
- markWorkStarted()
- parseStackFrame()
- processEventDispatch()
- processReactComponentMeasure()
- processResourceFinish()
- processResourceReceiveResponse()
- processResourceReceivedData()
- processResourceSendRequest()
- processScreenshot()
- throwIfIncomplete()
- updateLaneToLabelMap()
Called By
Source
Frequently Asked Questions
What does processTimelineEvent() do?
processTimelineEvent() is a function in the react codebase, defined in packages/react-devtools-timeline/src/import-worker/preprocessData.js.
Where is processTimelineEvent() defined?
processTimelineEvent() is defined in packages/react-devtools-timeline/src/import-worker/preprocessData.js at line 430.
What does processTimelineEvent() call?
processTimelineEvent() calls 14 function(s): getLanesFromTransportDecimalBitmask, getLastType, markWorkCompleted, markWorkStarted, parseStackFrame, processEventDispatch, processReactComponentMeasure, processResourceFinish, and 6 more.
What calls processTimelineEvent()?
processTimelineEvent() is called by 1 function(s): preprocessData.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free