51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
|
diff --git a/node_modules/metro-runtime/src/polyfills/require.js b/node_modules/metro-runtime/src/polyfills/require.js
|
||
|
index ce67cb4..eeeae84 100644
|
||
|
--- a/node_modules/metro-runtime/src/polyfills/require.js
|
||
|
+++ b/node_modules/metro-runtime/src/polyfills/require.js
|
||
|
@@ -22,6 +22,13 @@ global.__c = clear;
|
||
|
global.__registerSegment = registerSegment;
|
||
|
var modules = clear();
|
||
|
|
||
|
+if (__DEV__) {
|
||
|
+ // Added by Dan for module init logging.
|
||
|
+ global.__INIT_LOGS__ = []
|
||
|
+ var initModuleCounter = 0
|
||
|
+ var initModuleStack = []
|
||
|
+}
|
||
|
+
|
||
|
// Don't use a Symbol here, it would pull in an extra polyfill with all sorts of
|
||
|
// additional stuff (e.g. Array.from).
|
||
|
const EMPTY = {};
|
||
|
@@ -303,7 +310,30 @@ function loadModuleImplementation(moduleId, module) {
|
||
|
throw module.error;
|
||
|
}
|
||
|
if (__DEV__) {
|
||
|
- var Systrace = requireSystrace();
|
||
|
+ // Added by Dan for module init logging.
|
||
|
+ var Systrace = {
|
||
|
+ beginEvent(label) {
|
||
|
+ let fullLabel = initModuleCounter++ + ' ' + label
|
||
|
+ global.__INIT_LOGS__.push(
|
||
|
+ ' '.repeat(initModuleStack.length) +
|
||
|
+ ' ENTER ' + fullLabel
|
||
|
+ )
|
||
|
+ initModuleStack.push({
|
||
|
+ fullLabel,
|
||
|
+ startTime: nativePerformanceNow(),
|
||
|
+ })
|
||
|
+ },
|
||
|
+ endEvent() {
|
||
|
+ const res = initModuleStack.pop()
|
||
|
+ const fullLabel = res.fullLabel
|
||
|
+ const startTime = res.startTime
|
||
|
+ const timeElapsed = Math.round(nativePerformanceNow() - startTime)
|
||
|
+ global.__INIT_LOGS__.push(
|
||
|
+ ' '.repeat(initModuleStack.length) +
|
||
|
+ ' LEAVE ' + fullLabel + ' [' + timeElapsed + 'ms]',
|
||
|
+ )
|
||
|
+ }
|
||
|
+ };
|
||
|
var Refresh = requireRefresh();
|
||
|
}
|
||
|
|