新聞中心
小程序測速
為幫助開發(fā)者優(yōu)化小程序性能,我們推出了"小程序測速"功能。"小程序測速"可以簡單方便地統(tǒng)計(jì)小程序內(nèi)某一事件的實(shí)時(shí)耗時(shí)情況,并可根據(jù)地域、運(yùn)營商、操作系統(tǒng)、網(wǎng)絡(luò)類型、機(jī)型等關(guān)鍵維度進(jìn)行實(shí)時(shí)交叉分析。從基礎(chǔ)庫2.9.2開始,開發(fā)者通過“測速上報(bào)”接口上報(bào)某一指標(biāo)的耗時(shí)情況后,可在小程序管理后臺(tái)"開發(fā) -運(yùn)維中心 -小程序測速" 查看各指標(biāo)耗時(shí)趨勢,并支持分鐘級(jí)數(shù)據(jù)實(shí)時(shí)查看。

新建監(jiān)控 ID
為了實(shí)現(xiàn)對(duì)某一指標(biāo)的耗時(shí)監(jiān)控,開發(fā)者需要先定義監(jiān)控指標(biāo)。在小程序管理后臺(tái) :"開發(fā) -運(yùn)維中心 -小程序測速"中新建監(jiān)控 ID,并填寫監(jiān)控指標(biāo)的名稱和解釋。
點(diǎn)擊"新建"可以新建 ID ,你需要選擇指標(biāo)類型,并填寫指標(biāo)名稱和指標(biāo)對(duì)應(yīng)的解釋。 監(jiān)控指標(biāo)分為兩類:
網(wǎng)絡(luò)請(qǐng)求類: 此類耗時(shí)主要受網(wǎng)絡(luò)環(huán)境影響,包含操作系統(tǒng)、運(yùn)營商、網(wǎng)絡(luò)環(huán)境、地區(qū)等統(tǒng)計(jì)維度。如:網(wǎng)絡(luò) api 耗時(shí)、云調(diào)用耗時(shí)、網(wǎng)絡(luò)數(shù)據(jù)讀寫耗時(shí)等。注意此類指標(biāo)最多可創(chuàng)建20個(gè)。
加載/渲染類:此類耗時(shí)主要受設(shè)備性能影響,包含操作系統(tǒng)、機(jī)型類別等統(tǒng)計(jì)維度??梢杂脕頊y量頁面切換耗時(shí)、組件渲染耗時(shí)等。 注意此類指標(biāo)最多可創(chuàng)建20個(gè)。
新建后,可以看到上報(bào)需要使用的監(jiān)控 ID 。
測速上報(bào)
開發(fā)者定義監(jiān)控ID后,需要在小程序代碼中調(diào)用 wx.reportPerformance 接口上報(bào)耗時(shí)數(shù)值,才可實(shí)現(xiàn)耗時(shí)監(jiān)控:
上報(bào)方法1: 使用 canIUse 進(jìn)行判斷
// * 需要使用 canIUse 判斷接口是否可用
if (wx.canIUse('reportPerformance')) {
wx.reportPerformance(id, val)
}
上報(bào)方法2:使用 compareVersion 進(jìn)行判斷
// * 需要先使用 compareVersion 判斷接口是否可用
const sdkVersion = wx.getSystemInfoSync().SDKVersion
if (compareVersion(sdkVersion, '2.9.2') >= 0) {
wx.reportPerformance(id, val)
}
?id 和 val 均為 uint32 類型,其中 id 為小程序管理后臺(tái)定義的監(jiān)控 ID,val 為本次要上報(bào)的耗時(shí)數(shù)值(由開發(fā)者自行計(jì)算)。接口調(diào)用需要基礎(chǔ)庫的版本號(hào)高于 2.9.2,否則在一些低版本基礎(chǔ)庫可能報(bào)錯(cuò)。
(compareVersion 定義)
數(shù)據(jù)觀察
完成代碼上報(bào)后,可在小程序管理后臺(tái)"開發(fā) -運(yùn)維中心 -小程序測速" 查看各指標(biāo)耗時(shí)趨勢。目前線上數(shù)據(jù)約有15分鐘數(shù)據(jù)時(shí)延,上報(bào)數(shù)據(jù)保留 7 天,可按照 1 分鐘 - 1 小時(shí)等不同的時(shí)間粒度進(jìn)行聚合。
每個(gè)指標(biāo)可以觀察到兩條曲線,分別為平均值曲線和上報(bào)次數(shù)曲線。
?
?同時(shí)對(duì)于不同維度的數(shù)據(jù),我們提供了交叉對(duì)比功能,以幫助大家快速便捷的完成分析,注意交叉對(duì)比的曲線數(shù)最多不能超過10條。
?對(duì)于網(wǎng)絡(luò)請(qǐng)求類指標(biāo),我們提供了區(qū)域地圖,以幫助大家快速的定位區(qū)域資源問題。
自定義維度(可選功能)
對(duì)于更復(fù)雜的用戶場景,用戶可能需要將測速數(shù)據(jù)根據(jù)url、頁面等維度進(jìn)行細(xì)分,所以我們提供了自定義維度,用戶可以將一些業(yè)務(wù)層面的維度字符串填入至自定義維度中,以方便業(yè)務(wù)分析。 目前每個(gè)指標(biāo)的自定義緯度值的數(shù)量需要限制在50以內(nèi)(超限制的數(shù)據(jù)會(huì)被丟棄),自定義維度值的長度需要限制在256字節(jié)內(nèi)(超限制的值會(huì)被截?cái)啵W远x維度的使用效果如下: 想要使用自定義維度,只需要給wx.reportPerformance加上第三個(gè)參數(shù)dimensions,即可上報(bào)自定義維度:
wx.reportPerformance(id, value, dimensions)
(wx.reportPerformance 文檔)
Q&A
Q : 測速系統(tǒng)可以在哪些場景發(fā)揮作用?
A : 可以測量網(wǎng)絡(luò)類指標(biāo)(如網(wǎng)絡(luò)調(diào)用/云調(diào)用耗時(shí)、網(wǎng)絡(luò)數(shù)據(jù)讀寫速度等)和非網(wǎng)絡(luò)類指標(biāo)(頁面切換加載速度、組件渲染速度等)。可以查看這些指標(biāo)在不同維度下的數(shù)量分布和性能差異。在一些計(jì)算視頻首屏?xí)r延、幀率等場景也可以發(fā)揮作用。
Q :上報(bào)API需要的基礎(chǔ)庫版本是多少?
A : 需要基礎(chǔ)庫版本 2.9.2 以上。在一些低版本基礎(chǔ)庫上可能報(bào)錯(cuò),后續(xù)會(huì)支持用 canIUse 接口來進(jìn)行判斷。
Q: 系統(tǒng)是否可以再測試版使用?上報(bào)的時(shí)延大概是多少?數(shù)據(jù)保存的時(shí)間是多久?
A : 可以在測試版使用,目前上報(bào)的時(shí)延為 15 分鐘左右。數(shù)據(jù)會(huì)保存 7 天。
Q: 我可以定義多少指標(biāo) ID?
A : 單個(gè)小程序每個(gè)類別可以定義 20 個(gè) ID。
網(wǎng)頁題目:創(chuàng)新互聯(lián)小程序教程:微信小程序 小程序測速
本文網(wǎng)址:http://www.dlmjj.cn/article/djchgss.html


咨詢
建站咨詢
