Skip to content

Commit bfa9c36

Browse files
committed
allow overriding request.timeOrigin via options.startTime
1 parent 8a3fc67 commit bfa9c36

File tree

15 files changed

+124
-17
lines changed

15 files changed

+124
-17
lines changed

packages/react-markup/src/ReactMarkupServer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import type {ReactNodeList} from 'shared/ReactTypes';
1111
import type {LazyComponent} from 'react/src/ReactLazy';
1212
import type {ErrorInfo} from 'react-server/src/ReactFizzServer';
1313

14+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
15+
1416
import ReactVersion from 'shared/ReactVersion';
1517

1618
import ReactSharedInternalsServer from 'react-server/src/ReactSharedInternalsServer';
@@ -68,6 +70,7 @@ type MarkupOptions = {
6870
identifierPrefix?: string,
6971
signal?: AbortSignal,
7072
onError?: (error: mixed, errorInfo: ErrorInfo) => ?string,
73+
startTime?: number,
7174
};
7275

7376
function noServerCallOrFormAction() {
@@ -184,6 +187,7 @@ export function experimental_renderToHTML(
184187
handleFlightError,
185188
options ? options.identifierPrefix : undefined,
186189
undefined,
190+
enableProfilerTimer && options ? options.startTime : undefined,
187191
'Markup',
188192
undefined,
189193
false,

packages/react-noop-renderer/src/ReactNoopFlightServer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ type Options = {
7373
signal?: AbortSignal,
7474
debugChannel?: {onMessage?: (message: string) => void},
7575
onError?: (error: mixed) => void,
76+
startTime?: number,
7677
};
7778

7879
function render(model: ReactClientValue, options?: Options): Destination {
@@ -84,6 +85,7 @@ function render(model: ReactClientValue, options?: Options): Destination {
8485
options ? options.onError : undefined,
8586
options ? options.identifierPrefix : undefined,
8687
undefined,
88+
__PROFILE__ && options ? options.startTime : undefined,
8789
__DEV__ && options ? options.environmentName : undefined,
8890
__DEV__ && options ? options.filterStackFrame : undefined,
8991
__DEV__ && options && options.debugChannel !== undefined,

packages/react-server-dom-esm/src/server/ReactFlightDOMServerNode.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type {ServerManifest} from 'react-client/src/ReactFlightClientConfig';
1717
import type {Busboy} from 'busboy';
1818
import type {Writable} from 'stream';
1919
import type {Thenable} from 'shared/ReactTypes';
20+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
2021

2122
import type {Duplex} from 'stream';
2223

@@ -146,6 +147,7 @@ type Options = {
146147
onError?: (error: mixed) => void,
147148
identifierPrefix?: string,
148149
temporaryReferences?: TemporaryReferenceSet,
150+
startTime?: number,
149151
};
150152

151153
type PipeableStream = {
@@ -183,6 +185,7 @@ function renderToPipeableStream(
183185
options ? options.onError : undefined,
184186
options ? options.identifierPrefix : undefined,
185187
options ? options.temporaryReferences : undefined,
188+
enableProfilerTimer && options ? options.startTime : undefined,
186189
__DEV__ && options ? options.environmentName : undefined,
187190
__DEV__ && options ? options.filterStackFrame : undefined,
188191
debugChannel !== undefined,
@@ -272,6 +275,7 @@ type PrerenderOptions = {
272275
identifierPrefix?: string,
273276
temporaryReferences?: TemporaryReferenceSet,
274277
signal?: AbortSignal,
278+
startTime?: number,
275279
};
276280

277281
type StaticResult = {
@@ -303,6 +307,7 @@ function prerenderToNodeStream(
303307
options ? options.onError : undefined,
304308
options ? options.identifierPrefix : undefined,
305309
options ? options.temporaryReferences : undefined,
310+
enableProfilerTimer && options ? options.startTime : undefined,
306311
__DEV__ && options ? options.environmentName : undefined,
307312
__DEV__ && options ? options.filterStackFrame : undefined,
308313
false,

packages/react-server-dom-parcel/src/server/ReactFlightDOMServerBrowser.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import type {
1212
ReactClientValue,
1313
} from 'react-server/src/ReactFlightServer';
1414
import type {ReactFormState, Thenable} from 'shared/ReactTypes';
15+
16+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
17+
1518
import {
1619
preloadModule,
1720
requireModule,
@@ -67,6 +70,7 @@ type Options = {
6770
signal?: AbortSignal,
6871
temporaryReferences?: TemporaryReferenceSet,
6972
onError?: (error: mixed) => void,
73+
startTime?: number,
7074
};
7175

7276
function startReadingFromDebugChannelReadableStream(
@@ -128,6 +132,7 @@ export function renderToReadableStream(
128132
options ? options.onError : undefined,
129133
options ? options.identifierPrefix : undefined,
130134
options ? options.temporaryReferences : undefined,
135+
enableProfilerTimer && options ? options.startTime : undefined,
131136
__DEV__ && options ? options.environmentName : undefined,
132137
__DEV__ && options ? options.filterStackFrame : undefined,
133138
debugChannelReadable !== undefined,
@@ -215,6 +220,7 @@ export function prerender(
215220
options ? options.onError : undefined,
216221
options ? options.identifierPrefix : undefined,
217222
options ? options.temporaryReferences : undefined,
223+
enableProfilerTimer && options ? options.startTime : undefined,
218224
__DEV__ && options ? options.environmentName : undefined,
219225
__DEV__ && options ? options.filterStackFrame : undefined,
220226
false,

packages/react-server-dom-parcel/src/server/ReactFlightDOMServerEdge.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import type {
1212
ReactClientValue,
1313
} from 'react-server/src/ReactFlightServer';
1414
import type {ReactFormState, Thenable} from 'shared/ReactTypes';
15+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
16+
1517
import {
1618
preloadModule,
1719
requireModule,
@@ -72,6 +74,7 @@ type Options = {
7274
signal?: AbortSignal,
7375
temporaryReferences?: TemporaryReferenceSet,
7476
onError?: (error: mixed) => void,
77+
startTime?: number,
7578
};
7679

7780
function startReadingFromDebugChannelReadableStream(
@@ -133,6 +136,7 @@ export function renderToReadableStream(
133136
options ? options.onError : undefined,
134137
options ? options.identifierPrefix : undefined,
135138
options ? options.temporaryReferences : undefined,
139+
enableProfilerTimer && options ? options.startTime : undefined,
136140
__DEV__ && options ? options.environmentName : undefined,
137141
__DEV__ && options ? options.filterStackFrame : undefined,
138142
debugChannelReadable !== undefined,
@@ -220,6 +224,7 @@ export function prerender(
220224
options ? options.onError : undefined,
221225
options ? options.identifierPrefix : undefined,
222226
options ? options.temporaryReferences : undefined,
227+
enableProfilerTimer && options ? options.startTime : undefined,
223228
__DEV__ && options ? options.environmentName : undefined,
224229
__DEV__ && options ? options.filterStackFrame : undefined,
225230
false,

packages/react-server-dom-parcel/src/server/ReactFlightDOMServerNode.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import type {Destination} from 'react-server/src/ReactServerStreamConfigNode';
1515
import type {Busboy} from 'busboy';
1616
import type {Writable} from 'stream';
1717
import type {ReactFormState, Thenable} from 'shared/ReactTypes';
18+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
1819
import type {
1920
ServerManifest,
2021
ServerReferenceId,
@@ -159,6 +160,7 @@ type Options = {
159160
onError?: (error: mixed) => void,
160161
identifierPrefix?: string,
161162
temporaryReferences?: TemporaryReferenceSet,
163+
startTime?: number,
162164
};
163165

164166
type PipeableStream = {
@@ -195,6 +197,7 @@ export function renderToPipeableStream(
195197
options ? options.onError : undefined,
196198
options ? options.identifierPrefix : undefined,
197199
options ? options.temporaryReferences : undefined,
200+
enableProfilerTimer && options ? options.startTime : undefined,
198201
__DEV__ && options ? options.environmentName : undefined,
199202
__DEV__ && options ? options.filterStackFrame : undefined,
200203
debugChannel !== undefined,
@@ -352,6 +355,7 @@ export function renderToReadableStream(
352355
options ? options.onError : undefined,
353356
options ? options.identifierPrefix : undefined,
354357
options ? options.temporaryReferences : undefined,
358+
enableProfilerTimer && options ? options.startTime : undefined,
355359
__DEV__ && options ? options.environmentName : undefined,
356360
__DEV__ && options ? options.filterStackFrame : undefined,
357361
debugChannelReadable !== undefined,
@@ -434,6 +438,7 @@ type PrerenderOptions = {
434438
identifierPrefix?: string,
435439
temporaryReferences?: TemporaryReferenceSet,
436440
signal?: AbortSignal,
441+
startTime?: number,
437442
};
438443

439444
type StaticResult = {
@@ -464,6 +469,7 @@ export function prerenderToNodeStream(
464469
options ? options.onError : undefined,
465470
options ? options.identifierPrefix : undefined,
466471
options ? options.temporaryReferences : undefined,
472+
enableProfilerTimer && options ? options.startTime : undefined,
467473
__DEV__ && options ? options.environmentName : undefined,
468474
__DEV__ && options ? options.filterStackFrame : undefined,
469475
false,
@@ -526,6 +532,7 @@ export function prerender(
526532
options ? options.onError : undefined,
527533
options ? options.identifierPrefix : undefined,
528534
options ? options.temporaryReferences : undefined,
535+
enableProfilerTimer && options ? options.startTime : undefined,
529536
__DEV__ && options ? options.environmentName : undefined,
530537
__DEV__ && options ? options.filterStackFrame : undefined,
531538
false,

packages/react-server-dom-turbopack/src/server/ReactFlightDOMServerBrowser.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type {
1212
ReactClientValue,
1313
} from 'react-server/src/ReactFlightServer';
1414
import type {Thenable} from 'shared/ReactTypes';
15+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
1516
import type {ClientManifest} from './ReactFlightServerConfigTurbopackBundler';
1617
import type {ServerManifest} from 'react-client/src/ReactFlightClientConfig';
1718

@@ -64,6 +65,7 @@ type Options = {
6465
signal?: AbortSignal,
6566
temporaryReferences?: TemporaryReferenceSet,
6667
onError?: (error: mixed) => void,
68+
startTime?: number,
6769
};
6870

6971
function startReadingFromDebugChannelReadableStream(
@@ -126,6 +128,7 @@ function renderToReadableStream(
126128
options ? options.onError : undefined,
127129
options ? options.identifierPrefix : undefined,
128130
options ? options.temporaryReferences : undefined,
131+
enableProfilerTimer && options ? options.startTime : undefined,
129132
__DEV__ && options ? options.environmentName : undefined,
130133
__DEV__ && options ? options.filterStackFrame : undefined,
131134
debugChannelReadable !== undefined,
@@ -214,6 +217,7 @@ function prerender(
214217
options ? options.onError : undefined,
215218
options ? options.identifierPrefix : undefined,
216219
options ? options.temporaryReferences : undefined,
220+
enableProfilerTimer && options ? options.startTime : undefined,
217221
__DEV__ && options ? options.environmentName : undefined,
218222
__DEV__ && options ? options.filterStackFrame : undefined,
219223
false,

packages/react-server-dom-turbopack/src/server/ReactFlightDOMServerEdge.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type {
1212
ReactClientValue,
1313
} from 'react-server/src/ReactFlightServer';
1414
import type {Thenable} from 'shared/ReactTypes';
15+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
1516
import type {ClientManifest} from './ReactFlightServerConfigTurbopackBundler';
1617
import type {ServerManifest} from 'react-client/src/ReactFlightClientConfig';
1718

@@ -69,6 +70,7 @@ type Options = {
6970
signal?: AbortSignal,
7071
temporaryReferences?: TemporaryReferenceSet,
7172
onError?: (error: mixed) => void,
73+
startTime?: number,
7274
};
7375

7476
function startReadingFromDebugChannelReadableStream(
@@ -131,6 +133,7 @@ function renderToReadableStream(
131133
options ? options.onError : undefined,
132134
options ? options.identifierPrefix : undefined,
133135
options ? options.temporaryReferences : undefined,
136+
enableProfilerTimer && options ? options.startTime : undefined,
134137
__DEV__ && options ? options.environmentName : undefined,
135138
__DEV__ && options ? options.filterStackFrame : undefined,
136139
debugChannelReadable !== undefined,
@@ -219,6 +222,7 @@ function prerender(
219222
options ? options.onError : undefined,
220223
options ? options.identifierPrefix : undefined,
221224
options ? options.temporaryReferences : undefined,
225+
enableProfilerTimer && options ? options.startTime : undefined,
222226
__DEV__ && options ? options.environmentName : undefined,
223227
__DEV__ && options ? options.filterStackFrame : undefined,
224228
false,

packages/react-server-dom-turbopack/src/server/ReactFlightDOMServerNode.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type {ServerManifest} from 'react-client/src/ReactFlightClientConfig';
1717
import type {Busboy} from 'busboy';
1818
import type {Writable} from 'stream';
1919
import type {Thenable} from 'shared/ReactTypes';
20+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
2021

2122
import type {Duplex} from 'stream';
2223

@@ -152,6 +153,7 @@ type Options = {
152153
onError?: (error: mixed) => void,
153154
identifierPrefix?: string,
154155
temporaryReferences?: TemporaryReferenceSet,
156+
startTime?: number,
155157
};
156158

157159
type PipeableStream = {
@@ -189,6 +191,7 @@ function renderToPipeableStream(
189191
options ? options.onError : undefined,
190192
options ? options.identifierPrefix : undefined,
191193
options ? options.temporaryReferences : undefined,
194+
enableProfilerTimer && options ? options.startTime : undefined,
192195
__DEV__ && options ? options.environmentName : undefined,
193196
__DEV__ && options ? options.filterStackFrame : undefined,
194197
debugChannel !== undefined,
@@ -347,6 +350,7 @@ function renderToReadableStream(
347350
options ? options.onError : undefined,
348351
options ? options.identifierPrefix : undefined,
349352
options ? options.temporaryReferences : undefined,
353+
enableProfilerTimer && options ? options.startTime : undefined,
350354
__DEV__ && options ? options.environmentName : undefined,
351355
__DEV__ && options ? options.filterStackFrame : undefined,
352356
debugChannelReadable !== undefined,
@@ -429,6 +433,7 @@ type PrerenderOptions = {
429433
identifierPrefix?: string,
430434
temporaryReferences?: TemporaryReferenceSet,
431435
signal?: AbortSignal,
436+
startTime?: number,
432437
};
433438

434439
type StaticResult = {
@@ -460,6 +465,7 @@ function prerenderToNodeStream(
460465
options ? options.onError : undefined,
461466
options ? options.identifierPrefix : undefined,
462467
options ? options.temporaryReferences : undefined,
468+
enableProfilerTimer && options ? options.startTime : undefined,
463469
__DEV__ && options ? options.environmentName : undefined,
464470
__DEV__ && options ? options.filterStackFrame : undefined,
465471
false,
@@ -523,6 +529,7 @@ function prerender(
523529
options ? options.onError : undefined,
524530
options ? options.identifierPrefix : undefined,
525531
options ? options.temporaryReferences : undefined,
532+
enableProfilerTimer && options ? options.startTime : undefined,
526533
__DEV__ && options ? options.environmentName : undefined,
527534
__DEV__ && options ? options.filterStackFrame : undefined,
528535
false,

packages/react-server-dom-unbundled/src/server/ReactFlightDOMServerNode.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type {ServerManifest} from 'react-client/src/ReactFlightClientConfig';
1717
import type {Busboy} from 'busboy';
1818
import type {Writable} from 'stream';
1919
import type {Thenable} from 'shared/ReactTypes';
20+
import {enableProfilerTimer} from 'shared/ReactFeatureFlags';
2021

2122
import type {Duplex} from 'stream';
2223

@@ -152,6 +153,7 @@ type Options = {
152153
onError?: (error: mixed) => void,
153154
identifierPrefix?: string,
154155
temporaryReferences?: TemporaryReferenceSet,
156+
startTime?: number,
155157
};
156158

157159
type PipeableStream = {
@@ -189,6 +191,7 @@ function renderToPipeableStream(
189191
options ? options.onError : undefined,
190192
options ? options.identifierPrefix : undefined,
191193
options ? options.temporaryReferences : undefined,
194+
enableProfilerTimer && options ? options.startTime : undefined,
192195
__DEV__ && options ? options.environmentName : undefined,
193196
__DEV__ && options ? options.filterStackFrame : undefined,
194197
debugChannelReadable !== undefined,
@@ -347,6 +350,7 @@ function renderToReadableStream(
347350
options ? options.onError : undefined,
348351
options ? options.identifierPrefix : undefined,
349352
options ? options.temporaryReferences : undefined,
353+
enableProfilerTimer && options ? options.startTime : undefined,
350354
__DEV__ && options ? options.environmentName : undefined,
351355
__DEV__ && options ? options.filterStackFrame : undefined,
352356
debugChannelReadable !== undefined,
@@ -429,6 +433,7 @@ type PrerenderOptions = {
429433
identifierPrefix?: string,
430434
temporaryReferences?: TemporaryReferenceSet,
431435
signal?: AbortSignal,
436+
startTime?: number,
432437
};
433438

434439
type StaticResult = {
@@ -460,6 +465,7 @@ function prerenderToNodeStream(
460465
options ? options.onError : undefined,
461466
options ? options.identifierPrefix : undefined,
462467
options ? options.temporaryReferences : undefined,
468+
enableProfilerTimer && options ? options.startTime : undefined,
463469
__DEV__ && options ? options.environmentName : undefined,
464470
__DEV__ && options ? options.filterStackFrame : undefined,
465471
false,
@@ -523,6 +529,7 @@ function prerender(
523529
options ? options.onError : undefined,
524530
options ? options.identifierPrefix : undefined,
525531
options ? options.temporaryReferences : undefined,
532+
enableProfilerTimer && options ? options.startTime : undefined,
526533
__DEV__ && options ? options.environmentName : undefined,
527534
__DEV__ && options ? options.filterStackFrame : undefined,
528535
false,

0 commit comments

Comments
 (0)