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 <qh438406...@gmail.com> Authored: Fri May 4 14:24:28 2018 +0800 Committer: YorkShen <shenyua...@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"); }