From ac8cd5a5d02cd72647f303cd06f7a9410ece2e42 Mon Sep 17 00:00:00 2001 From: Bryce Redd Date: Mon, 23 Mar 2015 11:01:02 -0700 Subject: [PATCH] Added a graph view and a ReactNative metric that displays current queue and execution time for the JS thread. --- ReactKit/Base/RCTBridge.m | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/ReactKit/Base/RCTBridge.m b/ReactKit/Base/RCTBridge.m index 1fd446b3f..cb3631146 100644 --- a/ReactKit/Base/RCTBridge.m +++ b/ReactKit/Base/RCTBridge.m @@ -657,21 +657,11 @@ static id _latestJSExecutor; - (void)_invokeAndProcessModule:(NSString *)module method:(NSString *)method arguments:(NSArray *)args { - NSTimeInterval startJS = RCTTGetAbsoluteTime(); + [[NSNotificationCenter defaultCenter] postNotificationName:@"JS_PERF_ENQUEUE" object:nil userInfo:nil]; RCTJavaScriptCallback processResponse = ^(id json, NSError *error) { - NSTimeInterval startNative = RCTTGetAbsoluteTime(); + [[NSNotificationCenter defaultCenter] postNotificationName:@"JS_PERF_DEQUEUE" object:nil userInfo:nil]; [self _handleBuffer:json]; - - NSTimeInterval end = RCTTGetAbsoluteTime(); - NSTimeInterval timeJS = startNative - startJS; - NSTimeInterval timeNative = end - startNative; - - // TODO: surface this performance information somewhere - [[NSNotificationCenter defaultCenter] postNotificationName:@"PERF" object:nil userInfo:@{ - @"JS": @(timeJS * 1000000), - @"Native": @(timeNative * 1000000) - }]; }; [_javaScriptExecutor executeJSCall:module