問題背景
華為AppGallery Connect的性能管理服務(wù),可以做應(yīng)用性能的監(jiān)控與檢測,可實(shí)時(shí)了解應(yīng)用的性能情況,可以說是非常實(shí)用的應(yīng)用性能管理服務(wù)。
經(jīng)過分析對比,我們選用并且集成了該服務(wù)。在具體監(jiān)測與使用的時(shí)候,發(fā)現(xiàn)提供的分析報(bào)告還是非常有用的,特別是ANR分析和網(wǎng)絡(luò)分析選項(xiàng)。
但是在使用網(wǎng)絡(luò)分析的時(shí)候,發(fā)現(xiàn)在具體的網(wǎng)絡(luò)請求中,發(fā)現(xiàn)請求數(shù)(即下圖中的樣本數(shù))已經(jīng)過百了,但是一直沒有會話數(shù)。
問題原因
同樣的請求,請求數(shù)也相差不大, 但是為何上圖中的版本就沒有會話數(shù)據(jù)。是需要請求數(shù)需要達(dá)到一定上線,才能觸發(fā)會話數(shù)據(jù)嗎?根據(jù)歷史經(jīng)驗(yàn),去官網(wǎng)提工單聯(lián)系華為技術(shù)來解答該問題。
華為技術(shù)支持給出的專業(yè)答復(fù)是:
1、會話是以應(yīng)用交互維度的。應(yīng)用從后臺回到前臺,就會生成一個(gè)新的會話。。
2、為了防止頻繁的采集App會話,導(dǎo)致流量和CPU資源的過多消耗,當(dāng)前APM對會話是進(jìn)行采樣控制的。
3、當(dāng)前的會話采樣率默認(rèn)為1%,簡單來說,當(dāng)一臺設(shè)備會話數(shù)達(dá)到100時(shí),必定會有一次會話被抽樣上報(bào),生成一次會話數(shù)據(jù)。
4、目前建議線上使用默認(rèn)值即可,線下測試場景可適當(dāng)提高:可以采用如下代碼手動(dòng)設(shè)置會話采樣率:
<application>
<!-- Set this value to '2.0', means there are only 1% sessions can sample cpu and memory. -->
<meta-data
android:name="sessions_sampling_percentage"
android:value="2.0" />
</application>
詳細(xì)可以參考配置采樣率的官方文檔如下,當(dāng)然對華為性能管理服務(wù)感興趣的可以參考以下文檔:
1、應(yīng)用性能管理服務(wù)開發(fā)指南:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-apms-introduction
2、應(yīng)用性能管理服務(wù)API參考:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-References/apms-overview