This is an automated email from the ASF dual-hosted git repository. zshshr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push: new eb3f28b * [Android] build fix eb3f28b is described below commit eb3f28b1da57c9fbbd8efd0661c3affbad64178e Author: zhongcang <qh438406...@gmail.com> AuthorDate: Thu Jan 3 20:53:47 2019 +0800 * [Android] build fix --- .../java/com/taobao/weex/common/WXPerformance.java | 2 ++ .../com/taobao/weex/performance/WXInstanceApm.java | 31 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) 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 b70c42f..1a8532a 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 @@ -175,6 +175,8 @@ public class WXPerformance { public long interactionTime; + public long interactionRealUnixTime; + public int interactionViewAddCount; public int interactionViewAddLimitCount; diff --git a/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java b/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java index c1d8330..4cb4f8a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java +++ b/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java @@ -18,6 +18,7 @@ */ package com.taobao.weex.performance; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -132,6 +133,11 @@ public class WXInstanceApm { public boolean hasAddView; private Handler mUIHandler; + /** + * send performance value to js + **/ + private boolean hasSendInteractionToJS = false; + public WXInstanceApm(String instanceId) { mInstanceId = instanceId; extInfo = new ConcurrentHashMap<>(); @@ -357,6 +363,7 @@ public class WXInstanceApm { } performanceRecord.interactionTime = curTime - performanceRecord.renderUnixTimeOrigin; + performanceRecord.interactionRealUnixTime = System.currentTimeMillis(); onStageWithTime(KEY_PAGE_STAGES_INTERACTION,curTime); updateDiffStats(KEY_PAGE_STATS_I_SCREEN_VIEW_COUNT, 1); @@ -474,4 +481,28 @@ public class WXInstanceApm { updateDiffStats(WXInstanceApm.KEY_PAGE_STATS_IMG_LOAD_FAIL_NUM, 1); } } + + public void sendPerformanceToJS() { + if (hasSendInteractionToJS) { + return; + } + hasSendInteractionToJS = true; + WXSDKInstance instance = WXSDKManager.getInstance().getAllInstanceMap().get(mInstanceId); + if (null == instance) { + return; + } + + Map<String,String> sendProperties = new HashMap<>(2); + sendProperties.put(KEY_PAGE_PROPERTIES_BIZ_ID,reportPageName); + sendProperties.put(KEY_PAGE_PROPERTIES_BUBDLE_URL,instance.getBundleUrl()); + + Map<String,Long> sendStage = new HashMap<>(1); + sendStage.put(KEY_PAGE_STAGES_INTERACTION,instance.getWXPerformance().interactionRealUnixTime); + + Map<String, Object> data = new HashMap<>(2); + data.put("stage",sendStage); + data.put("properties",sendProperties); + + instance.fireGlobalEventCallback("wx_apm", data); + } }