You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by da...@apache.org on 2017/07/24 12:37:26 UTC

[34/50] incubator-weex git commit: + [ios] add comment for tracing api

+ [ios] add comment for tracing api


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/45b6b484
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/45b6b484
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/45b6b484

Branch: refs/heads/0.16-dev
Commit: 45b6b48495fa1e679784730c781087673b8ac17e
Parents: 8c755b1
Author: 齐山 <su...@163.com>
Authored: Fri Jul 21 15:18:37 2017 +0800
Committer: 齐山 <su...@163.com>
Committed: Fri Jul 21 15:18:37 2017 +0800

----------------------------------------------------------------------
 ios/playground/WeexDemo/WXDemoViewController.m  |  2 +-
 .../WeexSDK/Sources/Bridge/WXBridgeContext.m    | 20 +++++-----
 ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 18 ++++-----
 .../WeexSDK/Sources/Manager/WXTracingManager.h  | 42 +++++++++++++++++++-
 .../WeexSDK/Sources/Manager/WXTracingManager.m  | 39 ++++++++++++------
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     |  2 +-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   |  4 +-
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |  4 +-
 .../Sources/View/WXComponent+ViewManagement.m   |  2 +-
 9 files changed, 93 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/playground/WeexDemo/WXDemoViewController.m
----------------------------------------------------------------------
diff --git a/ios/playground/WeexDemo/WXDemoViewController.m b/ios/playground/WeexDemo/WXDemoViewController.m
index d443418..c77650b 100644
--- a/ios/playground/WeexDemo/WXDemoViewController.m
+++ b/ios/playground/WeexDemo/WXDemoViewController.m
@@ -146,7 +146,7 @@
     
     _instance.renderFinish = ^(UIView *view) {
          WXLogDebug(@"%@", @"Render Finish...");
-        [WXTracingManager startTracing:weakSelf.instance.instanceId ref:nil parentRef:nil className:nil name:nil ph:WXTracingInstant fName:WXTRenderFinish parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:weakSelf.instance.instanceId ref:nil className:nil name:nil phase:WXTracingInstant functionName:WXTRenderFinish options:nil];
         [weakSelf updateInstanceState:WeexInstanceAppear];
     };
     

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 1f0b5aa..1c1aac4 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -121,7 +121,7 @@ _Pragma("clang diagnostic pop") \
         }
         
         WXPerformBlockOnComponentThread(^{
-            [WXTracingManager startTracing:instanceId ref:elementData[@"ref"] parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"addElement" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:elementData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"addElement" options:nil];
             WXComponentManager *manager = instance.componentManager;
             if (!manager.isValid) {
                 return;
@@ -150,7 +150,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager createRoot:bodyData];
-            [WXTracingManager startTracing:instanceId ref:bodyData[@"ref"] parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"createBody" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:bodyData[@"ref"] className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"createBody" options:nil];
         });
         
         return 0;
@@ -173,7 +173,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager removeComponent:ref];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"removeElement" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"removeElement" options:nil];
         });
         
         return 0;
@@ -196,7 +196,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager moveComponent:ref toSuper:parentRef atIndex:index];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"moveElement" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"moveElement" options:nil];
         });
         
         return 0;
@@ -219,7 +219,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager updateAttributes:attrsData forComponent:ref];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"updateAttrs" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"updateAttrs" options:nil];
         });
         
         return 0;
@@ -242,7 +242,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager updateStyles:stylesData forComponent:ref];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"updateStyles" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"updateStyles" options:nil];
         });
         
         return 0;
@@ -265,7 +265,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager addEvent:event toComponent:ref];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"addEvent" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"addEvent" options:nil];
         });
         
         return 0;
@@ -288,7 +288,7 @@ _Pragma("clang diagnostic pop") \
             }
             [manager startComponentTasks];
             [manager removeEvent:event fromComponent:ref];
-            [WXTracingManager startTracing:instanceId ref:ref parentRef:nil className:nil name:WXTJSCall ph:WXTracingEnd fName:@"removeEvent" parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:ref className:nil name:WXTJSCall phase:WXTracingEnd functionName:@"removeEvent" options:nil];
         });
         
         return 0;
@@ -371,11 +371,11 @@ _Pragma("clang diagnostic pop") \
             NSString *ref = task[@"ref"];
             WXComponentMethod *method = [[WXComponentMethod alloc] initWithComponentRef:ref methodName:methodName arguments:arguments instance:instance];
             [method invoke];
-            [WXTracingManager startTracing:instanceId ref:task[@"ref"] parentRef:nil className:nil name:task[@"component"] ph:WXTracingBegin fName:task[@"method"] parentId:task[@"method"]];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:task[@"ref"] className:nil name:task[@"component"] phase:WXTracingBegin functionName:task[@"method"] options:nil];
         } else {
             NSString *moduleName = task[@"module"];
             WXModuleMethod *method = [[WXModuleMethod alloc] initWithModuleName:moduleName methodName:methodName arguments:arguments instance:instance];
-            [WXTracingManager startTracing:instanceId ref:nil parentRef:nil className:nil name:task[@"module"] ph:WXTracingBegin fName:task[@"method"] parentId:nil];
+            [WXTracingManager startTracingWithInstanceId:instanceId ref:nil className:nil name:task[@"module"] phase:WXTracingBegin functionName:task[@"method"] options:nil];
             [method invoke];
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
index 686544f..b65a76f 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m
@@ -207,7 +207,7 @@
         NSDictionary *componentData = [element toDictionary];
         NSString *parentRef = [ref toString];
         NSInteger insertIndex = [[index toNumber] integerValue];
-        [WXTracingManager startTracing:instanceIdString ref:componentData[@"ref"] parentRef:parentRef className:nil name:WXTJSCall ph:WXTracingBegin fName:@"addElement" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:componentData[@"ref"] className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"addElement" options:nil];
          WXLogDebug(@"callAddElement...%@, %@, %@, %ld", instanceIdString, parentRef, componentData, (long)insertIndex);
         
         return [JSValue valueWithInt32:(int32_t)callAddElement(instanceIdString, parentRef, componentData, insertIndex) inContext:[JSContext currentContext]];
@@ -224,7 +224,7 @@
         NSDictionary *bodyData = [body toDictionary];
         
         WXLogDebug(@"callCreateBody...%@, %@,", instanceIdString, bodyData);
-        [WXTracingManager startTracing:instanceIdString ref:bodyData[@"ref"] parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"createBody" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:bodyData[@"ref"] className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"createBody" options:nil];
         return [JSValue valueWithInt32:(int32_t)callCreateBody(instanceIdString, bodyData) inContext:[JSContext currentContext]];
     };
     
@@ -239,7 +239,7 @@
         NSString *refString = [ref toString];
         
         WXLogDebug(@"callRemoveElement...%@, %@,", instanceIdString, refString);
-        [WXTracingManager startTracing:instanceIdString ref:nil parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"removeElement" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:nil className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"removeElement" options:nil];
         return [JSValue valueWithInt32:(int32_t)callRemoveElement(instanceIdString, refString) inContext:[JSContext currentContext]];
     };
     
@@ -256,7 +256,7 @@
         NSInteger moveIndex = [[index toNumber] integerValue];
         
         WXLogDebug(@"callAddElement...%@, %@,", instanceIdString, refString);
-        [WXTracingManager startTracing:instanceIdString ref:refString parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"moveElement" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:refString className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"moveElement" options:nil];
         return [JSValue valueWithInt32:(int32_t)callMoveElement(instanceIdString, refString,parentRefString,moveIndex) inContext:[JSContext currentContext]];
     };
     
@@ -272,7 +272,7 @@
         NSDictionary *attrsData = [attrs toDictionary];
         
         WXLogDebug(@"callUpdateAttrs...%@, %@, %@", instanceIdString, refString,attrsData);
-        [WXTracingManager startTracing:instanceIdString ref:refString parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"updateAttrs" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:refString className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"updateAttrs" options:nil];
         return [JSValue valueWithInt32:(int32_t)callUpdateAttrs(instanceIdString, refString,attrsData) inContext:[JSContext currentContext]];
     };
     
@@ -288,7 +288,7 @@
         NSDictionary *stylessData = [styles toDictionary];
         
         WXLogDebug(@"callUpdateStyle...%@, %@, %@", instanceIdString, refString,stylessData);
-        [WXTracingManager startTracing:instanceIdString ref:refString parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"updateStyle" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:refString className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"updateStyle" options:nil];
         return [JSValue valueWithInt32:(int32_t)callUpdateStyle(instanceIdString, refString,stylessData) inContext:[JSContext currentContext]];
     };
     
@@ -304,7 +304,7 @@
         NSString *eventString = [event toString];
         
         WXLogDebug(@"callAddEvent...%@, %@, %@", instanceIdString, refString,eventString);
-        [WXTracingManager startTracing:instanceIdString ref:refString parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"addEvent" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:refString className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"addEvent" options:nil];
         return [JSValue valueWithInt32:(int32_t)callAddEvent(instanceIdString, refString,eventString) inContext:[JSContext currentContext]];
     };
     
@@ -320,7 +320,7 @@
         NSString *eventString = [event toString];
         
         WXLogDebug(@"callRemoveEvent...%@, %@, %@", instanceIdString, refString,eventString);
-        [WXTracingManager startTracing:instanceIdString ref:refString parentRef:nil className:nil name:WXTJSCall ph:WXTracingBegin fName:@"removeEvent" parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:refString className:nil name:WXTJSCall phase:WXTracingBegin functionName:@"removeEvent" options:nil];
         return [JSValue valueWithInt32:(int32_t)callRemoveEvent(instanceIdString, refString,eventString) inContext:[JSContext currentContext]];
     };
     
@@ -340,7 +340,7 @@
         
         NSInvocation *invocation = callNativeModuleBlock(instanceIdString, moduleNameString, methodNameString, argsArray, optionsDic);
         JSValue *returnValue = [JSValue wx_valueWithReturnValueFromInvocation:invocation inContext:[JSContext currentContext]];
-        [WXTracingManager startTracing:instanceIdString ref:nil parentRef:nil className:nil name:moduleNameString ph:WXTracingInstant fName:methodNameString parentId:nil];
+        [WXTracingManager startTracingWithInstanceId:instanceIdString ref:nil className:nil name:moduleNameString phase:WXTracingInstant functionName:methodNameString options:nil];
         return returnValue;
     };
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
index 3a40b2b..e4ee462 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.h
@@ -31,6 +31,8 @@
 #define WXTracingDuration          @"D"
 #define WXTracingInstant          @"i"
 
+#define WXTracingDurationDefault -1
+
 typedef enum : NSUInteger {
     // global
     WXTracingNetworkHanding = 0,
@@ -75,11 +77,49 @@ typedef enum : NSUInteger {
 @end
 
 @interface WXTracingManager : NSObject
+
+/**
+ *  @discusstion  weex perfermance  tracing state
+ *  @return isTracing , NO in the release environment.
+ */
 +(BOOL)isTracing;
+/**
+ *  @discusstion  set weex perfermance  tracing state
+ *  @param isTracing , YES weex will be traced, NO weex will not be traced in DEBUG environment.
+ */
 +(void)switchTracing:(BOOL)isTracing;
-+(void)startTracing:(NSString *)iid ref:(NSString*)ref parentRef:(NSString*)parentRef className:(NSString *)className name:(NSString *)name ph:(NSString *)ph fName:(NSString *)fName parentId:(NSString *)parentId;
+/**
+ *  @discusstion  weex perfermance  tracing state
+ *  @param iid, the instance id.
+ *  @param ref, the component ref
+ *  @param className, the module or component class name
+ *  @param name,  the module or component name
+ *  @param phase, the trace phase
+ *  @param functionName, function name
+ *  @param options, the optional refer:support ts,duration,parentRef
+ */
++(void)startTracingWithInstanceId:(NSString *)iid ref:(NSString*)ref className:(NSString *)className name:(NSString *)name phase:(NSString *)phase functionName:(NSString *)functionName options:(NSDictionary *)options;
+/**
+ *  @discusstion  fetch tracing data
+ *  @return  the tracing data
+ */
 +(WXTracingTask*)getTracingData;
+
+/**
+ *  @discusstion  clear tracing data
+ */
++(void)clearTracingData;
+
+/**
+ *  @discusstion set bundle type
+ *  @param jsBundleString: the bundle source.
+ *  @param iid: the instance  id.
+ */
 +(void)setBundleJSType:(NSString *)jsBundleString instanceId:(NSString *)iid;
+/**
+ *  @discusstion  fetch the weex moudle component handler info
+ *  @return  the weex moudle component handler info
+ */
 +(NSDictionary *)getTacingApi;
 
 @end

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
index f84dc8f..f7c167b 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXTracingManager.m
@@ -100,8 +100,13 @@
         if(!task.tracings){
             task.tracings = [NSMutableArray new];
         }
-        NSTimeInterval time=[[NSDate date] timeIntervalSince1970]*1000;
-        tracing.ts = time;
+        if(WXFloatEqual(tracing.ts,0)){
+            NSTimeInterval time=[[NSDate date] timeIntervalSince1970]*1000;
+            tracing.ts = time;
+        }
+        if(WXFloatEqual(tracing.duration,0)){
+            tracing.duration = WXTracingDurationDefault;
+        }
         if(![WXTracingEnd isEqualToString:tracing.ph]){ // end is should not update
             tracing.traceId = task.counter++;
         }
@@ -134,33 +139,42 @@
     }
 }
 
-+(void)startTracing:(NSString *)iid ref:(NSString*)ref parentRef:(NSString*)parentRef className:(NSString *)className name:(NSString *)name ph:(NSString *)ph fName:(NSString *)fName parentId:(NSString *)parentId
+-(void)clearTracingData
+{
+    [WXTracingManager sharedInstance].tracingTasks = nil;
+}
+
++(void)startTracingWithInstanceId:(NSString *)iid ref:(NSString*)ref className:(NSString *)className name:(NSString *)name phase:(NSString *)phase functionName:(NSString *)functionName options:(NSDictionary *)options
 {
     if([self isTracing]){
         WXTracing *tracing = [WXTracing new];
         if(ref.length>0){
             tracing.ref = ref;
         }
-        if(parentRef.length>0){
-            tracing.parentRef = parentRef;
-        }
         if(className.length>0){
             tracing.className = className;
         }
         if(name.length>0){
             tracing.name = name;
         }
-        if(fName.length>0){
-            tracing.fName = fName;
+        if(functionName.length>0){
+            tracing.fName = functionName;
         }
-        if(ph.length>0){
-            tracing.ph = ph;
+        if(phase.length>0){
+            tracing.ph = phase;
         }
         if(iid.length>0){
             tracing.iid = iid;
         }
-        if(parentId.length>0){
-            tracing.parentId = parentId;
+        
+        if(options && options[@"ts"]){
+            tracing.ts = [options[@"ts"] floatValue];
+        }
+        if(options && options[@"duration"]){
+            tracing.duration =  [options[@"duration"] floatValue];
+        }
+        if(options && options[@"parentRef"]){
+            tracing.parentRef = options[@"parentRef"];
         }
         [self startTracing:tracing];
     }
@@ -254,7 +268,6 @@
                     newTracing.duration = newTracing.ts - bTracing.ts ;
                     bTracing.duration = newTracing.duration;
                     [task.tracings addObject:newTracing];
-                    NSLog(@"jerry1 %f,%f",bTracing.ts,bTracing.duration);
                     *stop = YES;
                 }
             }];

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 75ca81a..190537d 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -126,7 +126,7 @@
         [self _initCompositingAttribute:_attributes];
         [self _handleBorders:styles isUpdating:NO];
         
-        [WXTracingManager startTracing:self.weexInstance.instanceId ref:ref parentRef:self.supercomponent.ref className:nil name:type ph:WXTracingBegin fName:WXTRender parentId:self.supercomponent.ref];
+        [WXTracingManager startTracingWithInstanceId:self.weexInstance.instanceId ref:ref className:nil name:type phase:WXTracingBegin functionName:WXTRender options:nil];
     }
     
     return self;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index d81e4a7..f8894bb 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -147,7 +147,7 @@ typedef enum : NSUInteger {
     
     WXResourceRequest *request = [WXResourceRequest requestWithURL:url resourceType:WXResourceTypeMainBundle referrer:@"" cachePolicy:NSURLRequestUseProtocolCachePolicy];
     [self _renderWithRequest:request options:options data:data];
-    [WXTracingManager startTracing:self.instanceId ref:nil parentRef:nil className:nil name:WXTNetworkHanding ph:WXTracingBegin fName:@"renderWithURL" parentId:nil];
+    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTNetworkHanding phase:WXTracingBegin functionName:@"renderWithURL" options:nil];
 }
 
 - (void)renderView:(NSString *)source options:(NSDictionary *)options data:(id)data
@@ -202,7 +202,7 @@ typedef enum : NSUInteger {
     
     [[WXSDKManager bridgeMgr] createInstance:self.instanceId template:mainBundleString options:dictionary data:_jsData];
     
-    [WXTracingManager startTracing:self.instanceId ref:nil parentRef:nil className:nil name:WXTExecJS ph:WXTracingBegin fName:@"renderWithMainBundleString" parentId:nil];
+    [WXTracingManager startTracingWithInstanceId:self.instanceId ref:nil className:nil name:WXTExecJS phase:WXTracingBegin functionName:@"renderWithMainBundleString" options:nil];
     
     WX_MONITOR_PERF_SET(WXPTBundleSize, [mainBundleString lengthOfBytesUsingEncoding:NSUTF8StringEncoding], self);
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
index 5128caa..332bcfc 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
@@ -94,7 +94,7 @@ WX_EXPORT_METHOD(@selector(getComponentRect:callback:))
     [self performBlockOnComponentManager:^(WXComponentManager *manager) {
         [manager addComponent:element toSupercomponent:parentRef atIndex:index appendingInTree:NO];
     }];
-    [WXTracingManager startTracing:self.weexInstance.instanceId ref:nil parentRef:nil className:nil name:@"dom" ph:WXTracingEnd fName:@"addElement" parentId:nil];
+    [WXTracingManager startTracingWithInstanceId:self.weexInstance.instanceId ref:nil className:nil name:@"dom" phase:WXTracingEnd functionName:@"addElement" options:nil];
 }
 
 - (void)removeElement:(NSString *)ref
@@ -130,7 +130,7 @@ WX_EXPORT_METHOD(@selector(getComponentRect:callback:))
     [self performBlockOnComponentManager:^(WXComponentManager *manager) {
         [manager createFinish];
     }];
-    [WXTracingManager startTracing:self.weexInstance.instanceId ref:nil parentRef:nil className:nil name:@"dom" ph:WXTracingEnd fName:@"createFinish" parentId:nil];
+    [WXTracingManager startTracingWithInstanceId:self.weexInstance.instanceId ref:nil className:nil name:@"dom" phase:WXTracingEnd functionName:@"createFinish" options:nil];
 }
 
 - (void)updateFinish

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/45b6b484/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
index f605681..38606ab 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXComponent+ViewManagement.m
@@ -138,7 +138,7 @@ do {\
 
 - (void)viewDidLoad
 {
-    [WXTracingManager startTracing:self.weexInstance.instanceId ref:self.ref parentRef:self.supercomponent.ref className:nil name:_type ph:WXTracingEnd fName:WXTRender parentId:nil];
+    [WXTracingManager startTracingWithInstanceId:self.weexInstance.instanceId ref:self.ref className:nil name:_type phase:WXTracingEnd functionName:WXTRender options:nil];
     WXAssertMainThread();
 }