File tree Expand file tree Collapse file tree 3 files changed +24
-18
lines changed
Expand file tree Collapse file tree 3 files changed +24
-18
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,17 @@ class RNPerfMetrics {
5353 }
5454 }
5555
56+ registerPerfMetricsGlobalPostMessageHandler ( ) : void {
57+ if ( globalThis . enableReactNativePerfMetrics !== true ||
58+ globalThis . enableReactNativePerfMetricsGlobalPostMessage !== true ) {
59+ return ;
60+ }
61+
62+ this . addEventListener ( event => {
63+ window . postMessage ( { event, tag : 'react-native-chrome-devtools-perf-metrics' } , window . location . origin ) ;
64+ } ) ;
65+ }
66+
5667 setLaunchId ( launchId : string | null ) : void {
5768 this . #launchId = launchId ;
5869 }
@@ -80,17 +91,6 @@ function getPerfTimestamp(): DOMHighResTimeStamp {
8091 return performance . timeOrigin + performance . now ( ) ;
8192}
8293
83- export function registerPerfMetricsGlobalPostMessageHandler ( ) : void {
84- if ( globalThis . enableReactNativePerfMetrics !== true ||
85- globalThis . enableReactNativePerfMetricsGlobalPostMessage !== true ) {
86- return ;
87- }
88-
89- getInstance ( ) . addEventListener ( event => {
90- window . postMessage ( { event, tag : 'react-native-chrome-devtools-perf-metrics' } , window . location . origin ) ;
91- } ) ;
92- }
93-
9494type CommonEventFields = Readonly < {
9595 timestamp : DOMHighResTimeStamp ,
9696 launchId : string | void | null ,
Original file line number Diff line number Diff line change @@ -26,6 +26,14 @@ import type * as Platform from '../../core/platform/platform.js';
2626import type * as Sources from '../../panels/sources/sources.js' ;
2727import * as RNExperiments from '../../core/rn_experiments/rn_experiments.js' ;
2828
29+ /*
30+ * To ensure accurate timing measurements,
31+ * please make sure these perf metrics lines are called ahead of everything else
32+ */
33+ Host . rnPerfMetrics . registerPerfMetricsGlobalPostMessageHandler ( ) ;
34+ Host . rnPerfMetrics . setLaunchId ( Root . Runtime . Runtime . queryParam ( 'launchId' ) ) ;
35+ Host . rnPerfMetrics . entryPointLoadingStarted ( 'rn_fusebox' ) ;
36+
2937const UIStrings = {
3038 /**
3139 *@description Title of the 'React Native' tool in the Network Navigator View, which is part of the Sources tool
@@ -66,11 +74,6 @@ RNExperiments.RNExperimentsImpl.Instance.enableExperimentsByDefault([
6674 Root . Runtime . ExperimentName . REACT_NATIVE_SPECIFIC_UI ,
6775] ) ;
6876
69- Host . RNPerfMetrics . registerPerfMetricsGlobalPostMessageHandler ( ) ;
70-
71- Host . rnPerfMetrics . setLaunchId ( Root . Runtime . Runtime . queryParam ( 'launchId' ) ) ;
72- Host . rnPerfMetrics . entryPointLoadingStarted ( 'rn_fusebox' ) ;
73-
7477class FuseboxClientMetadataModel extends SDK . SDKModel . SDKModel < void > {
7578 constructor ( target : SDK . Target . Target ) {
7679 super ( target ) ;
Original file line number Diff line number Diff line change @@ -23,8 +23,11 @@ import type * as Sources from '../../panels/sources/sources.js';
2323import * as RNExperiments from '../../core/rn_experiments/rn_experiments.js' ;
2424import * as Host from '../../core/host/host.js' ;
2525
26- Host . RNPerfMetrics . registerPerfMetricsGlobalPostMessageHandler ( ) ;
27-
26+ /*
27+ * To ensure accurate timing measurements,
28+ * please make sure these perf metrics lines are called ahead of everything else
29+ */
30+ Host . rnPerfMetrics . registerPerfMetricsGlobalPostMessageHandler ( ) ;
2831Host . rnPerfMetrics . setLaunchId ( Root . Runtime . Runtime . queryParam ( 'launchId' ) ) ;
2932Host . rnPerfMetrics . entryPointLoadingStarted ( 'rn_inspector' ) ;
3033
You can’t perform that action at this time.
0 commit comments