性能 trace 工具

更新时间 2024-07-24 02:58:49
收藏
我的收藏

简介​

性能 trace 工具功能可以分析小程序启动过程中的主要耗时。​

版本支持​

开发者工具从 3.1.6 起支持该功能。​

使用方法​

    1.调试器中打开 Trace Pannel,点击左上角按钮发起录制并生成 Trace 二维码。​
    2.使用抖音 APP (20.8.0 或以上版本)扫描二维码,若连接成功按钮变红提示设备已连接。​
    3.点击结束录制,为了方便用户查看,Trace 会自动最大化面板,并生成性能 Trace 报表。用户可以将鼠标移动到感兴趣的位置,通过鼠标滚轮进行缩放查看。​
    4.能力介绍。​
    5.切换底部面板。​

指标说明​

指标​

指标​
说明​
小程序启动​
从小程序启动到小程序进入前台耗时​
包下载​
小程序包下载耗时,若没有则表示使用本地缓存小程序包启动​
加载 JS​
JS 文件加载耗时​
处理首帧数据​
从渲染层获取首帧数据到开始渲染​
执行渲染逻辑​
渲染层渲染首帧数据​
setData​
setData 将数据从逻辑层发送到渲染层渲染,逻辑层和渲染层都有耗时​
tt.request​
tt.request 调用耗时​
request callback​
tt.request callback 执行耗时​
生命周期​
App,Page,Component 的生命周期函数执行耗时​
API 调用​
API 调用耗时​
API 调用回调执行​
API callback 执行耗时​

Args​

参数​
类型​
说明​
trace_id​
number​
数据追踪 id,用于匹配 setData 等异步 API 调用​
method​
string​
方法名​
data​
string​
setData 的 data​
size​
number​
setData data 的字节长度​
file_path​
string​
文件路径​
url​
string​
tt.request url 参数​
request_result​
number​
tt.request 是否成功 1:成功 0:失败​
meta_type​
number​
meta 信息是否使用本地缓存 1:使用 0:不使用​
pkg_type​
number​
小程序包是否使用本地缓存 2:使用本地包 1:使用断点续传:0:使用下载包​
jsc_preload_success​
number​
逻辑层是否预加载​
webview_preload_success​
number​
渲染层是否预加载​

常见问题​

Q:加载 JS 中 page-frame.js 和 path-frame.js 是什么?
A:小程序包中的文件是开发者小程序代码的编译产物,page-frame.js 主要是页面 ttml 文件转换成的 JS 代码,path-frame.js 主要是页面 ttss 转换成的 JS 代码。​
Q:图中的空白表示什么?
A:空白是小程序 SDK 内部耗时,开发者无需关注。​
Q:为什么某些 API 耗时很长?
A:当前 API 耗时计算公式为:API 调用时间 = 前端处理 API 时间 + 小程序端上处理 API 时间。而某些 API 需要用户介入才能继续执行。这类 API 包括:UI 相关 API,例如 tt.showModal。授权相关 API,例如 tt.getLocation。而这个用户等待时间也是算在端上处理 API 时间中的,所以会导致这类 API 处理时间过长(不准确),后续对这一部分 API 的 Trace 我们会继续优化。​
Q:电脑装过虚拟机之后,扫描 Trace 功能的二维码,手机上能正常进入小程序,为什么开发者工具没反应?
A:Trace 功能使用时要求开发者工具和手机在同一个局域网。但是虚拟机会修改主机网络设置,对这一过程造成影响。建议关停虚拟机应用,同时关闭所有虚拟机相关的网络设置,再重试 Trace 功能。​
(图例仅做演示参考,具体设置以实际系统为准)。​