性能管理(App Performance Management,簡(jiǎn)稱APM)是華為應(yīng)用市場(chǎng)AppGallery Connect(簡(jiǎn)稱AGC)質(zhì)量系列服務(wù)中的其中一項(xiàng),可以提供分鐘級(jí)應(yīng)用性能監(jiān)控能力,支持Android、iOS、Web多個(gè)平臺(tái),可查看和分析APM收集到的應(yīng)用性能數(shù)據(jù),實(shí)時(shí)全面掌握應(yīng)用在線的性能表現(xiàn),幫助您快速閉環(huán)性能問題,持續(xù)提升應(yīng)用的用戶體驗(yàn)。
性能管理服務(wù)優(yōu)勢(shì)
下面我們從總體上看一下,性能管理服務(wù)具備哪些優(yōu)點(diǎn):
1.跨平臺(tái):APM支持Android、iOS、Web多個(gè)平臺(tái),也支持基于Unity和Cocos引擎開發(fā)的游戲應(yīng)用,使其可以方便用于各種開發(fā)場(chǎng)景;
2.易集成:零代碼開發(fā),平均集成耗時(shí)在5分鐘以內(nèi);
3.場(chǎng)景化:APM當(dāng)前支持應(yīng)用啟動(dòng)、頁面加載、頁面渲染等多個(gè)性能監(jiān)控場(chǎng)景,而且在場(chǎng)景化基礎(chǔ)上,支持應(yīng)用ANR監(jiān)控,提供豐富的ANR信息,在線快速解決ANR問題;
4.全流程:與傳統(tǒng)工作在開發(fā)態(tài)、測(cè)試態(tài)性能分析工具相比,APM貫穿了應(yīng)用開發(fā)、測(cè)試、發(fā)布的全流程;
APM還具備實(shí)時(shí)性和可視化的特點(diǎn),強(qiáng)大的數(shù)據(jù)分析和可視化系統(tǒng)提供了分鐘級(jí)的實(shí)時(shí)監(jiān)控能力。為了幫助您快速感知用戶體驗(yàn)問題,我們細(xì)化了應(yīng)用啟動(dòng)、頁面加載、頁面渲染、網(wǎng)絡(luò)請(qǐng)求等場(chǎng)景下的監(jiān)控指標(biāo),比如網(wǎng)絡(luò)請(qǐng)求監(jiān)控包含了請(qǐng)求耗時(shí)、包大小、狀態(tài)碼等。這些標(biāo)準(zhǔn)的監(jiān)控場(chǎng)景之外,為了滿足您定制化的監(jiān)控訴求,我們進(jìn)一步提供了自定義跟蹤監(jiān)控,支持您上報(bào)自定義屬性和指標(biāo),監(jiān)控應(yīng)用在自定義場(chǎng)景下的性能。
性能管理服務(wù)使用場(chǎng)景
接下來,我們看下APM的使用場(chǎng)景:
1.應(yīng)用啟動(dòng)耗時(shí)場(chǎng)景中提供了按分位值分布,按時(shí)間分布,按應(yīng)用版本分布的啟動(dòng)耗時(shí)分析圖表,并支持按照版本號(hào)、國(guó)家地區(qū)、手機(jī)型號(hào)、系統(tǒng)版本等維度的篩選及下鉆分析。在應(yīng)用新版本發(fā)布后,我們可以查看應(yīng)用啟動(dòng)耗時(shí)是否有增加或減少的現(xiàn)象。
2.在應(yīng)用頁面渲染也就是我們通常說的頁面卡頓場(chǎng)景中,您可以查看各頁面的緩慢幀、凍結(jié)幀的占比,對(duì)于占比比較高的頁面,可以按照應(yīng)用版本、手機(jī)型號(hào)、系統(tǒng)版本等維度進(jìn)行下鉆分析,識(shí)別出卡頓問題的根本原因。
3.在應(yīng)用網(wǎng)絡(luò)請(qǐng)求場(chǎng)景下,您可以查看網(wǎng)絡(luò)請(qǐng)求響應(yīng)時(shí)間、成功率等指標(biāo),并按照設(shè)備所處的國(guó)家地區(qū)、網(wǎng)絡(luò)及運(yùn)營(yíng)商信息等維度進(jìn)行下鉆分析,以便快速定位網(wǎng)絡(luò)請(qǐng)求異常問題。
零代碼集成AGC性能管理服務(wù)
了解過上述場(chǎng)景后,我們來看看如何在Android平臺(tái)集成該服務(wù)。APM集成步驟非常簡(jiǎn)單,只需要在開通服務(wù)后在代碼中集成插件和SDK即可,實(shí)現(xiàn)零代碼快速集成。
1.創(chuàng)建應(yīng)用并開通性能管理服務(wù)
首先,我們?cè)贏GC控制臺(tái)創(chuàng)建應(yīng)用并開通APM,創(chuàng)建應(yīng)用的時(shí)候,注意應(yīng)用的包名要和APK里的包名保持一致。如果是在已有的應(yīng)用里集成APM,注意包名需要和AGC控制臺(tái)創(chuàng)建應(yīng)用時(shí)配置的包名保持一致 。創(chuàng)建好項(xiàng)目應(yīng)用后,或者使用已有的應(yīng)用,在界面上找到“我的項(xiàng)目-質(zhì)量-性能管理”,點(diǎn)擊立即開通即可。
2.下載和集成json文件
在Android Studio中新建一個(gè)Android工程,包名需要和AGC界面上的包名保持一致,然后回到AGC首頁,在“我的項(xiàng)目-項(xiàng)目設(shè)置-應(yīng)用”界面下,找到并且將agconnect-services.json文件下載到本地,放到Android工程的app層級(jí)目錄下。
3.集成APM插件與APM SDK
配置SDK地址,打開Android工程,在項(xiàng)目級(jí)build.gradle文件中,配置下面的內(nèi)容:
打開應(yīng)用級(jí)的build.gradle文件,將APM的SDK添加到您的應(yīng)用,配置內(nèi)容如下:
4.配置混淆文件
我們找到應(yīng)用級(jí)的proguard-rules.pro文件(混淆配置文件),添加以下排除項(xiàng):
集成結(jié)束后,點(diǎn)擊Android Studio工程右上角的Sync,打包應(yīng)用放到Android設(shè)備上運(yùn)行,然后就可以在AGC界面上查看APM所采集到的數(shù)據(jù)與報(bào)告。整個(gè)集成過程未涉及業(yè)務(wù)代碼的編寫,僅通過簡(jiǎn)單的4項(xiàng)步驟就順利完成,便捷高效。
APM分析報(bào)告提供了性能問題出現(xiàn)瞬間的詳細(xì)的設(shè)備與日志信息、性能數(shù)據(jù),實(shí)時(shí)的監(jiān)測(cè)報(bào)告為產(chǎn)品和運(yùn)營(yíng)提供了優(yōu)化方向,同時(shí)也解決了性能問題開發(fā)難定位、測(cè)試難復(fù)現(xiàn)的問題,大幅減少了開發(fā)、測(cè)試工作量。
以上關(guān)于性能管理的分享到這里就結(jié)束了,了解更多信息,請(qǐng)前往AGC官網(wǎng)參閱性能管理服務(wù),或查看GitHub Demo(APM)、Codelab(Android)、Codelab (iOS)。
還有更多AppGallery Connect服務(wù)支持Android、iOS、Web、快應(yīng)用多個(gè)平臺(tái),具備跨平臺(tái)特性,能夠集成到Flutter、Cordova和React Native跨平臺(tái)框架上,基于Unity和Cocos游戲引擎開發(fā)的游戲應(yīng)用也可以集成AGC相關(guān)服務(wù)。