From c080fe54d613d94108b1d7fe7a0238ad533cf14c Mon Sep 17 00:00:00 2001 From: Ben Nham Date: Thu, 17 Aug 2017 05:26:38 -0700 Subject: [PATCH] add perf markers for reload and download Reviewed By: alexeylang Differential Revision: D5633613 fbshipit-source-id: 1fe39669cf4ba4e1475bb57de59c696771ebf8c7 --- .../com/facebook/react/bridge/ReactMarkerConstants.java | 3 +++ .../facebook/react/devsupport/DevSupportManagerImpl.java | 7 +++++++ ReactAndroid/src/main/jni/react/jni/OnLoad.cpp | 2 +- ReactCommon/cxxreact/JSCExecutor.cpp | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java index e0e5a2695..b6ac80f62 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java @@ -67,4 +67,7 @@ public enum ReactMarkerConstants { ATTACH_MEASURED_ROOT_VIEWS_START, ATTACH_MEASURED_ROOT_VIEWS_END, CONTENT_APPEARED, + RELOAD, + DOWNLOAD_START, + DOWNLOAD_END, } diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java index b62c7d2e8..30993148d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java @@ -9,6 +9,8 @@ package com.facebook.react.devsupport; +import com.facebook.react.bridge.ReactMarker; +import com.facebook.react.bridge.ReactMarkerConstants; import javax.annotation.Nullable; import java.io.File; @@ -639,6 +641,8 @@ public class DevSupportManagerImpl implements public void handleReloadJS() { UiThreadUtil.assertOnUiThread(); + ReactMarker.logMarker(ReactMarkerConstants.RELOAD); + // dismiss redbox if exists if (mRedBoxDialog != null) { mRedBoxDialog.dismiss(); @@ -830,6 +834,8 @@ public class DevSupportManagerImpl implements } public void reloadJSFromServer(final String bundleURL) { + ReactMarker.logMarker(ReactMarkerConstants.DOWNLOAD_START); + mDevLoadingViewController.showForUrl(bundleURL); mDevLoadingViewVisible = true; @@ -846,6 +852,7 @@ public class DevSupportManagerImpl implements new Runnable() { @Override public void run() { + ReactMarker.logMarker(ReactMarkerConstants.DOWNLOAD_END); mReactInstanceCommandsHandler.onJSBundleLoadedFromServer(); } }); diff --git a/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp b/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp index 703aa0e2a..134aba07a 100644 --- a/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +++ b/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp @@ -128,7 +128,7 @@ static void logPerfMarker(const ReactMarker::ReactMarkerId markerId, const char* JReactMarker::logMarker("RUN_JS_BUNDLE_START", tag); break; case ReactMarker::RUN_JS_BUNDLE_STOP: - JReactMarker::logMarker("RUN_JS_BUNDLE_END"); + JReactMarker::logMarker("RUN_JS_BUNDLE_END", tag); break; case ReactMarker::CREATE_REACT_CONTEXT_STOP: JReactMarker::logMarker("CREATE_REACT_CONTEXT_END"); diff --git a/ReactCommon/cxxreact/JSCExecutor.cpp b/ReactCommon/cxxreact/JSCExecutor.cpp index 4021b0dde..5bc837696 100644 --- a/ReactCommon/cxxreact/JSCExecutor.cpp +++ b/ReactCommon/cxxreact/JSCExecutor.cpp @@ -301,7 +301,7 @@ void JSCExecutor::loadApplicationScript(std::unique_ptr scrip flush(); ReactMarker::logMarker(ReactMarker::CREATE_REACT_CONTEXT_STOP); - ReactMarker::logMarker(ReactMarker::RUN_JS_BUNDLE_STOP); + ReactMarker::logTaggedMarker(ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str()); return; case JSLoadSourceErrorVersionMismatch: @@ -350,7 +350,7 @@ void JSCExecutor::loadApplicationScript(std::unique_ptr scrip flush(); ReactMarker::logMarker(ReactMarker::CREATE_REACT_CONTEXT_STOP); - ReactMarker::logMarker(ReactMarker::RUN_JS_BUNDLE_STOP); + ReactMarker::logTaggedMarker(ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str()); } void JSCExecutor::setJSModulesUnbundle(std::unique_ptr unbundle) {