diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp index ac3a74c2066..c2a3b76df36 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include "TurboModuleManager.h" @@ -81,11 +82,19 @@ void TurboModuleManager::installJSIBindings() { return nullptr; } + const char *moduleName = name.c_str(); + + TurboModulePerfLogger::moduleJSRequireBeginningStart(moduleName); + auto turboModuleLookup = turboModuleCache->find(name); if (turboModuleLookup != turboModuleCache->end()) { + TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(moduleName); + TurboModulePerfLogger::moduleJSRequireBeginningEnd(moduleName); return turboModuleLookup->second; } + TurboModulePerfLogger::moduleJSRequireBeginningEnd(moduleName); + auto cxxModule = delegate->cthis()->getTurboModule(name, jsCallInvoker); if (cxxModule) { turboModuleCache->insert({name, cxxModule}); @@ -99,9 +108,13 @@ void TurboModuleManager::installJSIBindings() { auto legacyCxxModule = getLegacyCxxModule(javaPart.get(), name); if (legacyCxxModule) { + TurboModulePerfLogger::moduleJSRequireEndingStart(moduleName); + auto turboModule = std::make_shared( legacyCxxModule->cthis()->getModule(), jsCallInvoker); turboModuleCache->insert({name, turboModule}); + + TurboModulePerfLogger::moduleJSRequireEndingEnd(moduleName); return turboModule; } @@ -112,6 +125,7 @@ void TurboModuleManager::installJSIBindings() { auto moduleInstance = getJavaModule(javaPart.get(), name); if (moduleInstance) { + TurboModulePerfLogger::moduleJSRequireEndingStart(moduleName); JavaTurboModule::InitParams params = {.moduleName = name, .instance = moduleInstance, .jsInvoker = jsCallInvoker, @@ -119,6 +133,7 @@ void TurboModuleManager::installJSIBindings() { auto turboModule = delegate->cthis()->getTurboModule(name, params); turboModuleCache->insert({name, turboModule}); + TurboModulePerfLogger::moduleJSRequireEndingEnd(moduleName); return turboModule; }