You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2018/05/10 06:19:23 UTC

incubator-weex git commit: * [Android] add fsComponent count and create time

Repository: incubator-weex
Updated Branches:
  refs/heads/master af222ecd7 -> 3cfbcaf80


* [Android] add fsComponent count and create time


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

Branch: refs/heads/master
Commit: 3cfbcaf8010d6e08722a17c5b37197c5c4d1b921
Parents: af222ec
Author: zhongcang <qh...@gmail.com>
Authored: Fri May 4 14:24:28 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Thu May 10 14:19:06 2018 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/WXSDKInstance.java     | 23 ++++++++++----------
 .../com/taobao/weex/bridge/WXBridgeManager.java | 15 +++++--------
 .../com/taobao/weex/common/WXPerformance.java   | 17 ++++++++++++---
 .../action/GraphicActionAbstractAddElement.java |  3 ++-
 .../taobao/weex/ui/component/WXComponent.java   |  2 --
 .../com/taobao/weex/utils/WXExceptionUtils.java |  6 ++---
 6 files changed, 35 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index 9354949..d54d23c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -1124,10 +1124,8 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
     if(mWXPerformance.screenRenderTime<0.001){
       mWXPerformance.screenRenderTime =  time;
     }
-    mWXPerformance.componentCount = WXComponent.mComponentNum;
-    WXLogUtils.d(WXLogUtils.WEEX_PERF_TAG, "mComponentNum:" + WXComponent.mComponentNum);
+    WXLogUtils.d(WXLogUtils.WEEX_PERF_TAG, "mComponentNum:" + mWXPerformance.componentCount);
 
-    WXComponent.mComponentNum = 0;
     if (mRenderListener != null && mContext != null) {
       runOnUiThread(new Runnable() {
 
@@ -1282,8 +1280,15 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
         mWXPerformance.mActionLayoutSumTime += time;
     }
 
-  public void callActionAddElementTime(long time) {
-      mWXPerformance.mActionAddElementSumTime += time;
+  public void onComponentCreate(WXComponent component,long createTime) {
+      mWXPerformance.mActionAddElementCount++;
+      mWXPerformance.mActionAddElementSumTime += createTime;
+      if (!mEnd){
+        mWXPerformance.fsComponentCreateTime+=createTime;
+        mWXPerformance.fsComponentCount++;
+      }
+      mWXPerformance.componentCount++;
+      mWXPerformance.componentCreateTime+=createTime;
   }
 
   public void callActionCreateBodyTime(long time) {
@@ -1294,10 +1299,6 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
         mWXPerformance.mActionOtherSumTime += time;
     }
 
-  public void callActionAddElementCount() {
-        mWXPerformance.mActionAddElementCount++;
-    }
-
   public void callActionCreateBodyCount() {
         mWXPerformance.mActionCreateBodyCount++;
     }
@@ -1355,9 +1356,7 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
   }
 
   public void createInstanceFinished(long time) {
-    if (time > 0) {
-      mWXPerformance.communicateTime = time;
-    }
+
   }
 
   private void destroyView(View rootView) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index 611260e..219ad11 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -1207,16 +1207,11 @@ public class WXBridgeManager implements Callback, BactchExecutor {
       public void run() {
         long start = System.currentTimeMillis();
         invokeCreateInstance(instance, template, options, data);
-        final long endTime = System.currentTimeMillis();
-        final long totalTime = endTime- start;
-        WXSDKManager.getInstance().postOnUiThread(new Runnable() {
-
-            @Override
-            public void run() {
-              instance.getWXPerformance().callCreateInstanceTime = endTime;
-            instance.createInstanceFinished(totalTime);
-          }
-        }, 0);
+        instance.getWXPerformance().callCreateInstanceTime = System.currentTimeMillis();
+        long totalTime =  instance.getWXPerformance().callCreateInstanceTime - start;
+        if (totalTime > 0) {
+          instance.getWXPerformance().communicateTime = totalTime;
+        }
       }
     }, instanceId);
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java b/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
index e09ec1d..0b25c55 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
@@ -71,6 +71,8 @@ public class WXPerformance {
     fsCallNativeTotalTime(0D, 5000D),
     fsCallNativeTotalNum(0D, Double.MAX_VALUE),
     fsCallEventTotalNum(0D, Double.MAX_VALUE),
+    fsComponentCount(0D,100000D),
+    fsComponentCreateTime(0D,Double.MAX_VALUE),
     fsRenderTime(0D, 5000D),
     fsRequestNum(0D, 100D),
     callCreateFinishTime(0D, 10000D),
@@ -78,7 +80,8 @@ public class WXPerformance {
     communicateTotalTime(0D, 5000D),
     maxDeepViewLayer(0D, Double.MAX_VALUE),
     maxDeepVDomLayer(0D, Double.MAX_VALUE),
-    componentCount(0D, Double.MAX_VALUE),
+    componentCount(0D, 1000000),
+    componentCreateTime(0D,Double.MAX_VALUE),
     avgFps(0D, 61D),
     timerCount(0D, Double.MAX_VALUE),
 
@@ -145,7 +148,7 @@ public class WXPerformance {
   public String templateUrl;
 
   @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
-  public String cacheType = "unknown";
+  public String cacheType = "none";
 
   @RestrictTo(RestrictTo.Scope.LIBRARY)
   public long renderTimeOrigin;
@@ -174,6 +177,10 @@ public class WXPerformance {
 
   public int fsRequestNum;
 
+  public int fsComponentCount;
+
+  public int fsComponentCreateTime;
+
   public int cellExceedNum;
 
   public int timerInvokeCount;
@@ -298,6 +305,7 @@ public class WXPerformance {
    */
   public long componentCount;
 
+  public long componentCreateTime;
   /**
    * Version of JavaScript libraray
    */
@@ -328,7 +336,7 @@ public class WXPerformance {
   public String args="";
 
   public String connectionType;
-  public String requestType;
+  public String requestType="other";
 
   public String zCacheInfo;
 
@@ -408,12 +416,15 @@ public class WXPerformance {
     quotas.put(Measure.fsCallJsTotalNum.toString(), (double) fsCallJsTotalNum);
     quotas.put(Measure.fsCallNativeTotalTime.toString(), (double) fsCallNativeTotalTime);
     quotas.put(Measure.fsCallNativeTotalNum.toString(), (double) fsCallNativeTotalNum);
+    quotas.put(Measure.fsComponentCount.toString(),(double)fsComponentCount);
+    quotas.put(Measure.fsComponentCreateTime.toString(),(double)fsComponentCreateTime);
     quotas.put(Measure.fsRenderTime.toString(), fsRenderTime);
     quotas.put(Measure.fsRequestNum.toString(), (double) fsRequestNum);
     quotas.put(Measure.communicateTotalTime.toString(), totalTime);
     quotas.put(Measure.maxDeepViewLayer.toString(), (double) maxDeepViewLayer);
     quotas.put(Measure.maxDeepVDomLayer.toString(), (double) maxDeepVDomLayer);
     quotas.put(Measure.componentCount.toString(), (double) componentCount);
+    quotas.put(Measure.componentCreateTime.toString(),(double)componentCreateTime);
     quotas.put(Measure.cellExceedNum.toString(), (double) cellExceedNum);
     quotas.put(Measure.timerCount.toString(), (double) timerInvokeCount);
     quotas.put(Measure.avgFps.toString(), (double) avgFPS);

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAbstractAddElement.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAbstractAddElement.java b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAbstractAddElement.java
index 7128dc1..8846f4e 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAbstractAddElement.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionAbstractAddElement.java
@@ -46,6 +46,7 @@ public abstract class GraphicActionAbstractAddElement extends BasicGraphicAction
   }
 
   protected WXComponent createComponent(WXSDKInstance instance, WXVContainer parent, BasicComponentData basicComponentData) {
+    long createComponentStart = System.currentTimeMillis();
     if (basicComponentData != null) {
       basicComponentData.addStyle(mStyle);
       basicComponentData.addAttr(mAttributes);
@@ -64,7 +65,7 @@ public abstract class GraphicActionAbstractAddElement extends BasicGraphicAction
           .put(Constants.Name.TRANSFORM_ORIGIN, mStyle.get(Constants.Name.TRANSFORM_ORIGIN));
       component.addAnimationForElement(animationMap);
     }
-    WXSDKManager.getInstance().getSDKInstance(getPageId()).callActionAddElementCount();
+    instance.onComponentCreate(component,System.currentTimeMillis() -createComponentStart);
     return component;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 86f6347..ce47a6f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -131,7 +131,6 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
   public static final String ROOT = "_root";
 
   private int mFixedProp = 0;
-  public static int mComponentNum = 0;
   /** package **/ T mHost;
 
   private volatile WXVContainer mParent;
@@ -197,7 +196,6 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
     mContext = mInstance.getContext();
     mParent = parent;
     mType = type;
-    ++mComponentNum;
 
     if (instance != null)
       setViewPortWidth(instance.getInstanceViewPortWidth());

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3cfbcaf8/android/sdk/src/main/java/com/taobao/weex/utils/WXExceptionUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXExceptionUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXExceptionUtils.java
index 26a4980..0e6069c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXExceptionUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXExceptionUtils.java
@@ -84,9 +84,9 @@ public class WXExceptionUtils {
 				}
 			}
 
-			if (null != instance && instance.getContext() != null && instance.getBundleUrl() != null) {
+			if (null != instance) {
 				bundleUrlCommit = instance.getBundleUrl();
-				exceptionMsgCommit += "\n instance.getTemplateInfo()==" + instance.getTemplateInfo();
+				commitMap.put("templateInfo",instance.getTemplateInfo());
 				if (TextUtils.isEmpty(bundleUrlCommit) || bundleUrlCommit.equals(WXPerformance.DEFAULT)) {
 					if (!TextUtils.equals(degradeUrl, "BundleUrlDefaultDegradeUrl")) {
 						bundleUrlCommit = degradeUrl;
@@ -98,7 +98,7 @@ public class WXExceptionUtils {
 			if (!TextUtils.isEmpty(WXSDKInstance.requestUrl)) {
 				bundleUrlCommit = WXSDKInstance.requestUrl;
 			}
-			if (commitMap != null && commitMap.size() > 0) {
+			if (commitMap.size() > 0) {
 				bundleUrlCommit = TextUtils.isEmpty(commitMap.get("weexUrl")) ? commitMap.get("weexUrl")
 								: commitMap.get("bundleUrl");
 			}