Skip to content

Commit f0c6d10

Browse files
committed
Move ReactVersion to a new --react-init-* mark
1 parent cb8d562 commit f0c6d10

File tree

2 files changed

+58
-19
lines changed

2 files changed

+58
-19
lines changed

packages/react-reconciler/src/SchedulingProfiler.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ function formatLanes(laneOrLanes: Lane | Lanes): string {
3030
return ((laneOrLanes: any): number).toString();
3131
}
3232

33+
// Create a mark on React initialization
34+
if (enableSchedulingProfiler) {
35+
if (supportsUserTiming) {
36+
performance.mark(`--react-init-${ReactVersion}`);
37+
}
38+
}
39+
3340
export function markCommitStarted(lanes: Lanes): void {
3441
if (enableSchedulingProfiler) {
3542
if (supportsUserTiming) {
@@ -167,9 +174,7 @@ export function markRenderStopped(): void {
167174
export function markRenderScheduled(lane: Lane): void {
168175
if (enableSchedulingProfiler) {
169176
if (supportsUserTiming) {
170-
performance.mark(
171-
`--schedule-render-${formatLanes(lane)}-${ReactVersion}`,
172-
);
177+
performance.mark(`--schedule-render-${formatLanes(lane)}`);
173178
}
174179
}
175180
}

packages/react-reconciler/src/__tests__/SchedulingProfiler-test.internal.js

Lines changed: 50 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ describe('SchedulingProfiler', () => {
5656
beforeEach(() => {
5757
jest.resetModules();
5858
global.performance = createUserTimingPolyfill();
59+
marks = [];
5960

6061
React = require('react');
6162

@@ -64,8 +65,6 @@ describe('SchedulingProfiler', () => {
6465
ReactNoop = require('react-noop-renderer');
6566

6667
Scheduler = require('scheduler');
67-
68-
marks = [];
6968
});
7069

7170
afterEach(() => {
@@ -78,12 +77,18 @@ describe('SchedulingProfiler', () => {
7877
expect(marks).toEqual([]);
7978
});
8079

80+
// @gate enableSchedulingProfiler
81+
it('should log React version on initialization', () => {
82+
expect(marks).toEqual([`--react-init-${ReactVersion}`]);
83+
});
84+
8185
// @gate enableSchedulingProfiler
8286
it('should mark sync render without suspends or state updates', () => {
8387
ReactTestRenderer.create(<div />);
8488

8589
expect(marks).toEqual([
86-
`--schedule-render-1-${ReactVersion}`,
90+
`--react-init-${ReactVersion}`,
91+
'--schedule-render-1',
8792
'--render-start-1',
8893
'--render-stop',
8994
'--commit-start-1',
@@ -97,7 +102,10 @@ describe('SchedulingProfiler', () => {
97102
it('should mark concurrent render without suspends or state updates', () => {
98103
ReactTestRenderer.create(<div />, {unstable_isConcurrent: true});
99104

100-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
105+
expect(marks).toEqual([
106+
`--react-init-${ReactVersion}`,
107+
'--schedule-render-512',
108+
]);
101109

102110
marks.splice(0);
103111

@@ -130,7 +138,8 @@ describe('SchedulingProfiler', () => {
130138
expect(ReactNoop.flushNextYield()).toEqual(['Foo']);
131139

132140
expect(marks).toEqual([
133-
`--schedule-render-512-${ReactVersion}`,
141+
`--react-init-${ReactVersion}`,
142+
'--schedule-render-512',
134143
'--render-start-512',
135144
'--render-yield',
136145
]);
@@ -150,7 +159,8 @@ describe('SchedulingProfiler', () => {
150159
);
151160

152161
expect(marks).toEqual([
153-
`--schedule-render-1-${ReactVersion}`,
162+
`--react-init-${ReactVersion}`,
163+
'--schedule-render-1',
154164
'--render-start-1',
155165
toggleComponentStacks(
156166
'--suspense-suspend-0-Example-\n at Example\n at Suspense',
@@ -186,7 +196,8 @@ describe('SchedulingProfiler', () => {
186196
);
187197

188198
expect(marks).toEqual([
189-
`--schedule-render-1-${ReactVersion}`,
199+
`--react-init-${ReactVersion}`,
200+
'--schedule-render-1',
190201
'--render-start-1',
191202
toggleComponentStacks(
192203
'--suspense-suspend-0-Example-\n at Example\n at Suspense',
@@ -222,7 +233,10 @@ describe('SchedulingProfiler', () => {
222233
{unstable_isConcurrent: true},
223234
);
224235

225-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
236+
expect(marks).toEqual([
237+
`--react-init-${ReactVersion}`,
238+
'--schedule-render-512',
239+
]);
226240

227241
marks.splice(0);
228242

@@ -264,7 +278,10 @@ describe('SchedulingProfiler', () => {
264278
{unstable_isConcurrent: true},
265279
);
266280

267-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
281+
expect(marks).toEqual([
282+
`--react-init-${ReactVersion}`,
283+
'--schedule-render-512',
284+
]);
268285

269286
marks.splice(0);
270287

@@ -306,7 +323,10 @@ describe('SchedulingProfiler', () => {
306323

307324
ReactTestRenderer.create(<Example />, {unstable_isConcurrent: true});
308325

309-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
326+
expect(marks).toEqual([
327+
`--react-init-${ReactVersion}`,
328+
'--schedule-render-512',
329+
]);
310330

311331
marks.splice(0);
312332

@@ -342,7 +362,10 @@ describe('SchedulingProfiler', () => {
342362

343363
ReactTestRenderer.create(<Example />, {unstable_isConcurrent: true});
344364

345-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
365+
expect(marks).toEqual([
366+
`--react-init-${ReactVersion}`,
367+
'--schedule-render-512',
368+
]);
346369

347370
marks.splice(0);
348371

@@ -379,7 +402,10 @@ describe('SchedulingProfiler', () => {
379402

380403
ReactTestRenderer.create(<Example />, {unstable_isConcurrent: true});
381404

382-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
405+
expect(marks).toEqual([
406+
`--react-init-${ReactVersion}`,
407+
'--schedule-render-512',
408+
]);
383409

384410
marks.splice(0);
385411

@@ -416,7 +442,10 @@ describe('SchedulingProfiler', () => {
416442

417443
ReactTestRenderer.create(<Example />, {unstable_isConcurrent: true});
418444

419-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
445+
expect(marks).toEqual([
446+
`--react-init-${ReactVersion}`,
447+
'--schedule-render-512',
448+
]);
420449

421450
marks.splice(0);
422451

@@ -451,7 +480,10 @@ describe('SchedulingProfiler', () => {
451480

452481
ReactTestRenderer.create(<Example />, {unstable_isConcurrent: true});
453482

454-
expect(marks).toEqual([`--schedule-render-512-${ReactVersion}`]);
483+
expect(marks).toEqual([
484+
`--react-init-${ReactVersion}`,
485+
'--schedule-render-512',
486+
]);
455487

456488
marks.splice(0);
457489

@@ -491,7 +523,8 @@ describe('SchedulingProfiler', () => {
491523
gate(({old}) => {
492524
if (old) {
493525
expect(marks.map(normalizeCodeLocInfo)).toEqual([
494-
`--schedule-render-512-${ReactVersion}`,
526+
`--react-init-${ReactVersion}`,
527+
'--schedule-render-512',
495528
'--render-start-512',
496529
'--render-stop',
497530
'--commit-start-512',
@@ -510,7 +543,8 @@ describe('SchedulingProfiler', () => {
510543
]);
511544
} else {
512545
expect(marks.map(normalizeCodeLocInfo)).toEqual([
513-
`--schedule-render-512-${ReactVersion}`,
546+
`--react-init-${ReactVersion}`,
547+
'--schedule-render-512',
514548
'--render-start-512',
515549
'--render-stop',
516550
'--commit-start-512',

0 commit comments

Comments
 (0)