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

Commit

Permalink
* [Android] add extInfo for instance
Browse files Browse the repository at this point in the history
* [Android] fix tool mush stage

[WEEX-588][Android] fix too much msg when record error/stage
  • Loading branch information
lucky-chen authored and zshshr committed Aug 23, 2018
1 parent ed4d72f commit b15d88a
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1863,7 +1863,7 @@ public void onHttpFinish(WXResponse response) {

mWXPerformance.networkTime = System.currentTimeMillis() - startRequestTime;
if(null!= response && response.extendParams!=null){
mApmForInstance.updateExtInfo(response.extendParams);
mApmForInstance.updateRecordInfo(response.extendParams);
Object actualNetworkTime=response.extendParams.get("actualNetworkTime");
mWXPerformance.actualNetworkTime=actualNetworkTime instanceof Long?(long)actualNetworkTime:0;
WXLogUtils.renderPerformanceLog("actualNetworkTime", mWXPerformance.actualNetworkTime);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,11 @@ public class WXInstanceApm {
private Map<String, Double> recordStatsMap;
private boolean isFSEnd;
private boolean mHasInit = false;
public final Map<String,Object> extInfo;

public WXInstanceApm(String instanceId) {
mInstanceId = instanceId;
extInfo = new ConcurrentHashMap<>();
IApmGenerator generator = WXSDKManager.getInstance().getApmGenerater();
if (null != generator) {
apmInstance = generator.generateApmInstance(WEEX_PAGE_TOPIC);
Expand Down Expand Up @@ -308,7 +310,7 @@ public void updateMaxStats(String name, double currentVal) {
}
}

public void updateExtInfo(Map<String, Object> extParams) {
public void updateRecordInfo(Map<String, Object> extParams) {
if (null == apmInstance || null == extParams) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@
*/
package com.taobao.weex.performance;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicBoolean;

Expand All @@ -33,7 +39,7 @@ public class WXInstanceExceptionRecord {
public static int sErrorMsgSizeLimit = 5;
public static final String KEY_EXP_STAGE_LIST = "wxStageList";

public final List<String> stageList;
private final Map<String,Long> mStageMap;
public final List<WXJSExceptionInfo> errorList;
public final String instanceId;
public final AtomicBoolean hasAddView;
Expand All @@ -43,7 +49,7 @@ public class WXInstanceExceptionRecord {

public WXInstanceExceptionRecord(String instanceId) {
this.instanceId = instanceId;
this.stageList = new CopyOnWriteArrayList<>();
this.mStageMap = new ConcurrentHashMap<>();
this.errorList = new CopyOnWriteArrayList<>();
this.hasAddView = new AtomicBoolean(false);
this.hasDegrade = new AtomicBoolean(false);
Expand Down Expand Up @@ -79,20 +85,28 @@ public void recordStage(String stage, long time) {
) {
setBeginRender(true);
}
stageList.add(stage + " :" + time);
mStageMap.put(stage,time);
}

public void setBeginRender(boolean isBegin){
mBeginRender = true;
}

public String convertStageToStr() {
if (stageList.isEmpty()) {
return "empty";
if (mStageMap.isEmpty()) {
return "emptyStage";
}
List<Map.Entry<String,Long>> list = new ArrayList<>(mStageMap.entrySet());
Collections.sort(list, new Comparator<Entry<String, Long>>() {
@Override
public int compare(Entry<String, Long> o1, Entry<String, Long> o2) {
return (int)(o1.getValue() - o2.getValue());
}
});

StringBuilder builder = new StringBuilder();
for (String value : stageList) {
builder.append(value).append(" -> ");
for (Map.Entry<String,Long> entry : list) {
builder.append(entry.getKey()).append(':').append(entry.getValue()).append("->");
}
return builder.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public GraphicActionCreateFinish(@NonNull WXSDKInstance instance) {
this.mLayoutHeight = (int) component.getLayoutHeight();
}
instance.getApmForInstance().onStage(WXInstanceApm.KEY_PAGE_STAGES_CREATE_FINISH);
instance.getApmForInstance().extInfo.put(WXInstanceApm.KEY_PAGE_STAGES_CREATE_FINISH,true);

// todo add LayoutFinishListener
// final LayoutFinishListener listener;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.common.WXErrorCode.ErrorType;
import com.taobao.weex.common.WXJSExceptionInfo;
import com.taobao.weex.common.WXPerformance;
import com.taobao.weex.performance.WXAnalyzerDataTransfer;
Expand Down Expand Up @@ -67,8 +68,6 @@ public static void commitCriticalExceptionRT(@Nullable final String instanceId,
if (null == commitMap){
commitMap = new HashMap<>();
}
commitMap.put("activity","empty");

if (!TextUtils.isEmpty(instanceId)) {
instanceIdCommit = instanceId;
instance = WXSDKManager.getInstance().getAllInstanceMap().get(instanceId);
Expand Down Expand Up @@ -104,7 +103,7 @@ public static void commitCriticalExceptionRT(@Nullable final String instanceId,
adapter.onJSException(exceptionCommit);
}

if (null != instance){
if (null != instance && exceptionCommit.getErrCode().getErrorType() != ErrorType.RENDER_ERROR){
instance.getExceptionRecorder().recordErrorMsg(exceptionCommit);
}

Expand Down

0 comments on commit b15d88a

Please sign in to comment.