加载跟踪记录

本页介绍如何使用 Winscope Web UI 加载跟踪记录。

使用 Web UI 上传

您可以在本地 运行 Winscope 或从 Web 服务器访问它。

要在 Winscope 中加载 捕获的跟踪记录,请使用 上传跟踪记录 面板上传已保存的跟踪记录。点击 上传其他文件 上传更多跟踪记录,或点击 X 删除已上传的跟踪记录。

Upload traces in Winscope

图 1. 在 Winscope 中上传跟踪记录。

点击 查看跟踪记录 查看已上传的跟踪记录。每个跟踪记录的标签都会显示在窗口的顶部面板中。如果上传的文件包含相关跟踪记录,屏幕录制跟踪记录或屏幕截图的浮动视图将叠加在屏幕上。

有关详细信息,请参阅 分析跟踪记录

解析警告和错误

Winscope 使用一个 snackbar 来显示加载跟踪记录时发现的问题,例如,当跟踪记录文件因数据过旧而被丢弃时。以下列表包含当前的警告及其含义

消息 说明
损坏的归档文件 无法加载 zip 文件。这通常发生在 zip 文件为空(0 字节)时。
<filename>:由于数据过旧而被丢弃 任何在下一个跟踪记录开始前 5 分钟以上完成的跟踪记录都将被丢弃。
<filename>:由于数据早于 <time> 而被丢弃 根据找到的最新单调或启动时间偏移量,任何偏移量大于 5 秒的跟踪记录都将被丢弃。
<filename>:被另一种类型为 <trace type> 的跟踪记录覆盖 当同一文件中存在等效的跟踪记录(例如,跟踪记录和转储)时,Winscope 使用以下规则
  • Perfetto 跟踪记录会覆盖相同类型的旧版跟踪记录。
  • 屏幕录制会覆盖屏幕截图。
<filename>:被另一种相同类型的跟踪记录覆盖 当同一文件中存在相同类型的跟踪记录时,Winscope 使用以下规则
  • Perfetto 跟踪记录会覆盖相同类型的旧版跟踪记录。
  • 最大的 Perfetto 跟踪记录会覆盖所有其他 Perfetto 跟踪记录。
  • 对于 WindowManager 和 SurfaceFlinger,跟踪记录会覆盖转储。
<filename>:不支持的格式 由于 proto 无效或 Winscope 解析器缺失,无法解析旧版跟踪记录。
无法创建 <parser_name> 解析器:<error> Winscope 识别出跟踪记录解析器,但无法解析文件。请提交 Winscope 错误报告并附上您的跟踪记录。
无法可视化所有跟踪记录:无法初始化时间轴数据。请尝试删除一些跟踪记录。

Winscope 无法从跟踪记录中解析时间轴数据。请提交 Winscope 错误报告并附上您的跟踪记录

帧映射中发生错误:<error>

Winscope 无法映射不同跟踪记录之间的状态以进行导航。请提交 Winscope 错误报告并附上您的跟踪记录

<table> 中的一个或多个条目缺少 vsync_id 由于缺少 vsync id 信息,无法加载 Perfetto 跟踪记录。请提交 Winscope 错误报告并附上您的跟踪记录
发现重复的 SF 图层 ID <layerId> - 作为“重复项”添加到层次结构中 SurfaceFlinger 跟踪记录包含两个具有相同 layerId 的图层。请提交 SurfaceFlinger 错误报告并附上您的跟踪记录
屏幕录制可能未与其他跟踪记录同步。元数据包含单调时间而不是经过时间 屏幕录制文件较旧,并且使用无法同步的旧版元数据格式。较新版本的 Android 屏幕录制不应存在此问题。
无法解析所有过渡。某些过渡可能在“过渡查看器”中缺失。 无法解析旧版过渡跟踪记录,查看器中可能会缺少数据。
<filename><error> 其他未映射的错误。请提交 Winscope 错误报告并附上您的跟踪记录