PerformanceObserver.observe(Object options)

基础库 2.11.0 开始支持,低版本需做兼容处理。

微信小程序插件:不支持

功能描述

开始监听性能指标数据。

参数

Object options

设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。

属性 类型 默认值 必填 说明
type string 指标类型。不能和 entryTypes 同时使用
合法值 说明
navigation 路由
render 渲染
script 脚本
loadPackage 代码包下载
entryTypes Array.<string> 指标类型列表。不能和 type 同时使用。

PerformanceObserver

基础库 2.11.0 开始支持,低版本需做兼容处理。

PerformanceObserver 对象,用于监听性能相关事件

属性

Array supportedEntryTypes

获取当前支持的所有性能指标类型

方法

PerformanceObserver.observe(Object options)

开始监听

PerformanceObserver.disconnect()

停止监听

PerformanceEntry

相关文档: 性能优化

单条性能数据。具体数据口径请参考性能数据文档

属性

string entryType

指标类型

entryType 的合法值

说明 最低版本
navigation 路由
render 渲染
script 脚本

string name

指标名称

name 的合法值

说明 最低版本
appLaunch 微信小程序启动耗时。(entryType: navigation)
route 路由处理耗时。(entryType: navigation)
firstRender 页面首次渲染耗时。(entryType: render)
firstPaint 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render) 2.21.2
firstContentfulPaint 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render) 2.21.2
largestContentfulPaint 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render) 2.23.1
evaluateScript 逻辑层 JS 代码注入耗时。(entryType: script)
downloadPackage 代码包下载耗时。(entryType: loadPackage) 2.24.0
resourceTiming 视图层资源加载耗时。(entryType: resource) 2.24.0

number startTime

开始时间,不同指标的具体含义会有差异。

number duration

耗时 ms。仅对于表示阶段的指标有效。

string path

页面路径。仅 render 和 navigation 类型指标有效。

number referrerPath

基础库 2.23.1 开始支持,低版本需做兼容处理。

页面跳转来源页面路径。仅 route 指标有效。

number pageId

基础库 2.23.1 开始支持,低版本需做兼容处理。

path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。

number referrerPageId

基础库 2.23.1 开始支持,低版本需做兼容处理。

referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。

number navigationStart

路由真正响应开始时间。仅 navigation 类型指标有效。

string navigationType

路由详细类型,与微信小程序路由方法对应。仅 navigation 类型指标有效。

string moduleName

分包名,主包表示为 APP (2.21.2 开始)。仅 evaluateScript 指标有效。

Array. fileList

基础库 2.21.2 开始支持,低版本需做兼容处理。

注入文件列表。仅 evaluateScript 指标有效。

number viewLayerReadyTime

基础库 2.21.2 开始支持,低版本需做兼容处理。

渲染层代码注入完成时间。仅 firstRender 指标有效。

number initDataSendTime

基础库 2.21.2 开始支持,低版本需做兼容处理。

首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。

number initDataRecvTime

基础库 2.21.2 开始支持,低版本需做兼容处理。

首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。

number viewLayerRenderStartTime

基础库 2.21.2 开始支持,低版本需做兼容处理。

渲染层执行渲染开始时间。仅 firstRender 指标有效。

number viewLayerRenderEndTime

基础库 2.21.2 开始支持,低版本需做兼容处理。

渲染层执行渲染结束时间。仅 firstRender 指标有效。

string packageName

基础库 2.24.0 开始支持,低版本需做兼容处理。

代码包名称。仅 downloadPackage 指标有效。

number packageSize

基础库 2.24.0 开始支持,低版本需做兼容处理。

代码包大小。仅 downloadPackage 指标有效。

string uri

基础库 2.24.0 开始支持,低版本需做兼容处理。

资源路径。仅 resourceTiming 指标有效。

string initiatorType

基础库 2.24.0 开始支持,低版本需做兼容处理。

初始化性能条目的资源类型。仅 resourceTiming 指标有效。

initiatorType 的合法值

说明 最低版本
audio 音频
cover-image cover-image 组件的图片
image 组件的图片
open-data 组件的图片

number transferSize

基础库 2.24.0 开始支持,低版本需做兼容处理。

表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持)

number domainLookupStart

基础库 2.24.0 开始支持,低版本需做兼容处理。

解析域名开始时间。仅 resourceTiming 指标有效。

number domainLookupEnd

基础库 2.24.0 开始支持,低版本需做兼容处理。

解析域名结束时间。仅 resourceTiming 指标有效。

Performance

基础库 2.11.0 开始支持,低版本需做兼容处理。

Performance 对象,用于获取性能数据及创建性能监听器

方法

Array. Performance.getEntries()

该方法返回当前缓冲区中的所有性能数据

Array. Performance.getEntriesByType(string entryType)

获取当前缓冲区中所有类型为 [entryType] 的性能数据

Array. Performance.getEntriesByName(string name, string entryType)

获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据

PerformanceObserver Performance.createObserver(function callback)

创建全局性能事件监听器

Performance.setBufferSize(number size)

设置缓冲区大小,默认缓冲 30 条性能数据