微信小程序 小程序測速

2022-04-27 11:52 更新

小程序測速

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

新建監(jiān)控 ID

為了實現(xiàn)對某一指標(biāo)的耗時監(jiān)控,開發(fā)者需要先定義監(jiān)控指標(biāo)。在小程序管理后臺 :"開發(fā) -運維中心 -小程序測速"中新建監(jiān)控 ID,并填寫監(jiān)控指標(biāo)的名稱和解釋。

img

點擊"新建"可以新建 ID ,你需要選擇指標(biāo)類型,并填寫指標(biāo)名稱和指標(biāo)對應(yīng)的解釋。 監(jiān)控指標(biāo)分為兩類:

網(wǎng)絡(luò)請求類: 此類耗時主要受網(wǎng)絡(luò)環(huán)境影響,包含操作系統(tǒng)、運營商、網(wǎng)絡(luò)環(huán)境、地區(qū)等統(tǒng)計維度。如:網(wǎng)絡(luò) api 耗時、云調(diào)用耗時、網(wǎng)絡(luò)數(shù)據(jù)讀寫耗時等。注意此類指標(biāo)最多可創(chuàng)建20個。

加載/渲染類:此類耗時主要受設(shè)備性能影響,包含操作系統(tǒng)、機型類別等統(tǒng)計維度??梢杂脕頊y量頁面切換耗時、組件渲染耗時等。 注意此類指標(biāo)最多可創(chuàng)建20個。

img

新建后,可以看到上報需要使用的監(jiān)控 ID 。

img

測速上報

開發(fā)者定義監(jiān)控ID后,需要在小程序代碼中調(diào)用 wx.reportPerformance 接口上報耗時數(shù)值,才可實現(xiàn)耗時監(jiān)控:

上報方法1: 使用 canIUse 進行判斷

// * 需要使用 canIUse 判斷接口是否可用
if (wx.canIUse('reportPerformance')) {
  wx.reportPerformance(id, val)
}

上報方法2:使用 compareVersion 進行判斷

// * 需要先使用 compareVersion 判斷接口是否可用
const sdkVersion = wx.getSystemInfoSync().SDKVersion
if (compareVersion(sdkVersion, '2.9.2') >= 0) {
  wx.reportPerformance(id, val)
}

?id 和 val 均為 uint32 類型,其中 id 為小程序管理后臺定義的監(jiān)控 ID,val 為本次要上報的耗時數(shù)值(由開發(fā)者自行計算)。接口調(diào)用需要基礎(chǔ)庫的版本號高于 2.9.2,否則在一些低版本基礎(chǔ)庫可能報錯。

(compareVersion 定義)

數(shù)據(jù)觀察

完成代碼上報后,可在小程序管理后臺"開發(fā) -運維中心 -小程序測速" 查看各指標(biāo)耗時趨勢。目前線上數(shù)據(jù)約有15分鐘數(shù)據(jù)時延,上報數(shù)據(jù)保留 7 天,可按照 1 分鐘 - 1 小時等不同的時間粒度進行聚合。

每個指標(biāo)可以觀察到兩條曲線,分別為平均值曲線和上報次數(shù)曲線。

img

?同時對于不同維度的數(shù)據(jù),我們提供了交叉對比功能,以幫助大家快速便捷的完成分析,注意交叉對比的曲線數(shù)最多不能超過10條。 img

?對于網(wǎng)絡(luò)請求類指標(biāo),我們提供了區(qū)域地圖,以幫助大家快速的定位區(qū)域資源問題。 img

自定義維度(可選功能)

對于更復(fù)雜的用戶場景,用戶可能需要將測速數(shù)據(jù)根據(jù)url、頁面等維度進行細(xì)分,所以我們提供了自定義維度,用戶可以將一些業(yè)務(wù)層面的維度字符串填入至自定義維度中,以方便業(yè)務(wù)分析。 目前每個指標(biāo)的自定義緯度值的數(shù)量需要限制在50以內(nèi)(超限制的數(shù)據(jù)會被丟棄),自定義維度值的長度需要限制在256字節(jié)內(nèi)(超限制的值會被截斷)。自定義維度的使用效果如下: img想要使用自定義維度,只需要給wx.reportPerformance加上第三個參數(shù)dimensions,即可上報自定義維度:

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)用耗時、網(wǎng)絡(luò)數(shù)據(jù)讀寫速度等)和非網(wǎng)絡(luò)類指標(biāo)(頁面切換加載速度、組件渲染速度等)??梢圆榭催@些指標(biāo)在不同維度下的數(shù)量分布和性能差異。在一些計算視頻首屏?xí)r延、幀率等場景也可以發(fā)揮作用。

Q :上報API需要的基礎(chǔ)庫版本是多少?

A : 需要基礎(chǔ)庫版本 2.9.2 以上。在一些低版本基礎(chǔ)庫上可能報錯,后續(xù)會支持用 canIUse 接口來進行判斷。

Q: 系統(tǒng)是否可以再測試版使用?上報的時延大概是多少?數(shù)據(jù)保存的時間是多久?

A : 可以在測試版使用,目前上報的時延為 15 分鐘左右。數(shù)據(jù)會保存 7 天。

Q: 我可以定義多少指標(biāo) ID?

A : 單個小程序每個類別可以定義 20 個 ID。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號