Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
[WEEX-539][Android] report container info when report error or perfor…
Browse files Browse the repository at this point in the history
…mance

* [Android] rm useless code
  • Loading branch information
lucky-chen authored and YorkShen committed Jul 26, 2018
1 parent 040a57e commit a3b0225
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 15 deletions.
1 change: 0 additions & 1 deletion android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ public static void initialize(Application application,InitConfig config){
registerApplicationOptions(application);
WXEnvironment.sSDKInitInvokeTime = System.currentTimeMillis()-start;
WXLogUtils.renderPerformanceLog("SDKInitInvokeTime", WXEnvironment.sSDKInitInvokeTime);
WXPerformance.init();
mIsInit = true;
}
}
Expand Down
25 changes: 22 additions & 3 deletions android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
*/
package com.taobao.weex;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
Expand Down Expand Up @@ -134,6 +135,8 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan
private @NonNull
FlatGUIContext mFlatGUIContext =new FlatGUIContext();

private Map<String,String> mContainerInfo;

/**
* bundle type
*/
Expand Down Expand Up @@ -385,15 +388,22 @@ public void removeOnInstanceVisibleListener(OnInstanceVisibleListener l){

public void init(Context context) {
mContext = context;
mContainerInfo = new HashMap<>(4);
mNativeInvokeHelper = new NativeInvokeHelper(mInstanceId);

mWXPerformance = new WXPerformance();
mWXPerformance = new WXPerformance(mInstanceId);
mWXPerformance.WXSDKVersion = WXEnvironment.WXSDK_VERSION;
mWXPerformance.JSLibInitTime = WXEnvironment.sJSLibInitTime;

mUserTrackAdapter=WXSDKManager.getInstance().getIWXUserTrackAdapter();

WXSDKManager.getInstance().getAllInstanceMap().put(mInstanceId,this);

mContainerInfo.put(Dimension.activity.toString(), context instanceof Activity
? context.getClass().getSimpleName()
:"unKnowContainer"
);
mContainerInfo.put(Dimension.instanceType.toString(),"page");
}

/**
Expand Down Expand Up @@ -447,6 +457,14 @@ public WXScrollView.WXScrollViewListener getScrollViewListener() {
public void setIWXUserTrackAdapter(IWXUserTrackAdapter adapter) {
}

public void setContainerInfo(String key,String val){
mContainerInfo.put(key,val);
}

public Map<String, String> getContainerInfo() {
return mContainerInfo;
}

/**
* Render template asynchronously, use {@link WXRenderStrategy#APPEND_ASYNC} as render strategy
* @param template bundle js
Expand Down Expand Up @@ -928,6 +946,7 @@ public void onActivityPause() {
mWXPerformance.maxDeepViewLayer=getMaxDeepLayer();
mWXPerformance.wxDims = mwxDims;
mWXPerformance.measureTimes = measureTimes;
WXExceptionUtils.commitCriticalExceptionRT(mInstanceId,WXErrorCode.WX_ERR_BAD_SO,"TEST","ss",null);
if (mUserTrackAdapter != null) {
mUserTrackAdapter.commit(mContext, null, IWXUserTrackAdapter.LOAD, mWXPerformance, getUserTrackParams());
}
Expand Down Expand Up @@ -1163,7 +1182,7 @@ public void run() {
if (mRenderListener != null && mContext != null) {
mRenderListener.onRenderSuccess(WXSDKInstance.this, width, height);
if (mUserTrackAdapter != null) {
WXPerformance performance=new WXPerformance();
WXPerformance performance=new WXPerformance(mInstanceId);
performance.errCode=WXErrorCode.WX_SUCCESS.getErrorCode();
performance.args=getBundleUrl();
mUserTrackAdapter.commit(mContext,null,IWXUserTrackAdapter.JS_BRIDGE,performance,getUserTrackParams());
Expand Down Expand Up @@ -1837,7 +1856,7 @@ public void onHttpFinish(WXResponse response) {
mWXPerformance.zCacheInfo = zCacheInfo instanceof String?(String)zCacheInfo:"";

if(isNet(mWXPerformance.requestType) && mUserTrackAdapter!=null){
WXPerformance performance=new WXPerformance();
WXPerformance performance=new WXPerformance(mInstanceId);
if(!TextUtils.isEmpty(mBundleUrl)){
try {
performance.args= Uri.parse(mBundleUrl).buildUpon().clearQuery().toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import android.support.annotation.RestrictTo;

import com.taobao.weex.WXEnvironment;
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.utils.WXViewUtils;

import java.util.HashMap;
Expand All @@ -42,6 +44,8 @@ public enum Dimension {
networkType,
connectionType,
zcacheInfo,
activity,
instanceType,
wxdim1,
wxdim2,
wxdim3,
Expand Down Expand Up @@ -363,11 +367,11 @@ public double getMaxRange() {
public int mActionAddElementCount = 0;
public int mActionAddElementSumTime = 0;

public WXPerformance(){
mErrMsgBuilder=new StringBuilder();
}
private String mInstanceId;

public static void init() {
public WXPerformance(String instanceId){
mErrMsgBuilder=new StringBuilder();
mInstanceId = instanceId;
}

public Map<String, Double> getMeasureMap() {
Expand Down Expand Up @@ -455,6 +459,12 @@ public Map<String, String> getDimensionMap() {
quotas.put(Dimension.cacheType.toString(), cacheType);
quotas.put(Dimension.useScroller.toString(), String.valueOf(useScroller));

WXSDKInstance sdkInstance = WXSDKManager.getInstance().getSDKInstance(mInstanceId);
String keyActivity = Dimension.activity.toString();
quotas.put(keyActivity, null == sdkInstance? "unKnow" : sdkInstance.getContainerInfo().get(keyActivity));
String keyType = Dimension.instanceType.toString();
quotas.put(keyType,sdkInstance == null ?"unKnow": sdkInstance.getContainerInfo().get(keyType));

// TODO These attribute will be moved to elsewhere
// Extra Dimension for 3rd developers.
quotas.put(Dimension.wxdim1.toString(), wxDims[0]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import com.taobao.weex.common.Constants;
import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.common.WXPerformance;
import com.taobao.weex.common.WXPerformance.Dimension;
import com.taobao.weex.common.WXRenderStrategy;
import com.taobao.weex.ui.action.BasicComponentData;
import com.taobao.weex.utils.WXLogUtils;
Expand Down Expand Up @@ -288,6 +289,8 @@ public void setPriority(String priority) {
*/
protected void loadContent(){
mNestedInstance = createInstance();
mNestedInstance.setContainerInfo(Dimension.instanceType.toString(),"embed");
mNestedInstance.setContainerInfo("parentPage",getInstance().getBundleUrl());
if(mListener != null && mListener.mEventListener != null){
if(!mListener.mEventListener.onPreCreate(this,src)){
//cancel render
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,6 @@ public static void commitCriticalExceptionRT(@Nullable final String instanceId,
instanceIdCommit = instanceId;
instance = WXSDKManager.getInstance().getAllInstanceMap().get(instanceId);

if (null != instance && instance.getContainerView() != null){
Context c = instance.getContainerView().getContext();
if (c instanceof Activity){
commitMap.put("activity",c.getClass().getSimpleName());
}
}

if (null != instance) {
bundleUrlCommit = instance.getBundleUrl();
commitMap.put("templateInfo",instance.getTemplateInfo());
Expand All @@ -93,6 +86,9 @@ public static void commitCriticalExceptionRT(@Nullable final String instanceId,
} else
bundleUrlCommit = WXSDKInstance.requestUrl;
}
for (Map.Entry<String,String> entry: instance.getContainerInfo().entrySet()){
commitMap.put(entry.getKey(),entry.getValue());
}
}
} else {//instance is null for instance id is null
if (!TextUtils.isEmpty(WXSDKInstance.requestUrl)) {
Expand Down

0 comments on commit a3b0225

Please sign in to comment.