Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.
Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to load traces using the Winscope Web UI.
Upload using the web UI
You can run Winscope locally or access it from a web server.
To load captured traces in Winscope, use the Upload Traces panel to
upload saved traces. Click Upload another file to upload more traces or
click X to remove uploaded traces.
Figure 1. Upload traces in Winscope.
Click View traces to view the uploaded traces. Tabs for each trace
appear on the top panel of the window. If the uploaded file contains the
relevant traces, a floating view of the screen recording trace or screenshot is
overlaid on the screen.
Winscope uses a snackbar to display issues found when loading a trace, such as
when a trace file is discarded because the data is old. The following list
includes the current warnings and their meanings:
Message
Description
corrupted archive
Failed to load the zip file. This usually happens when the zip is empty (0
bytes).
<filename>: discarded because data is old
Any traces that finish more than 5 minutes before the next trace starts are
discarded.
<filename>: discarded because data is older than
<time>
Based on the most recent monotonic or boot time offset found, any traces
with an offset greater than 5 seconds are discarded.
<filename>: overridden by another trace of type
<trace type>
When equivalent traces (for example, trace and dump) exist in the same
file, Winscope uses the following rules:
Perfetto traces override legacy traces of the same type.
Screen recordings override screenshots.
<filename>: overridden by another trace of same
type
When traces of the same type exist in the same file, Winscope uses the
following rules:
Perfetto traces override legacy traces of same type.
The largest Perfetto trace overrides all other Perfetto traces.
Traces overrides dumps for WindowManager and
SurfaceFlinger.
<filename>: unsupported format
The legacy trace can't be parsed due to an invalid proto or missing
Winscope parser.
Failed to create <parser_name> parser:
<error>
Winscope identified the trace parser but couldn't parse the file.
File a Winscope bug and attach your trace.
Cannot visualize all traces: Failed to initialize timeline data.
Try removing some traces.
Winscope failed to parse timeline data from the trace. File a
Winscope bug and attach your trace.
Error occurred in frame mapping: <error>
Winscope failed to map the states between different traces for
navigation. File a Winscope bug and attach your trace.
Missing vsync_id value for one or more entries in
<table>
Failed to load Perfetto trace due to missing VSync ID information.
File a Winscope bug and attach your trace.
Duplicate SF layer ID <layerId> found - adding it
as Duplicate to the hierarchy
SurfaceFlinger trace contains two layers with the same layerId.
File a SurfaceFlinger bug and attach your trace.
Screen recording may not be synchronized with the other traces.
Metadata contains monotonic time instead of elapsed
The screen recording file is old and uses legacy metadata format that
can't be synchronized. Screen recordings from newer versions of Android
shouldn't have this issue.
Cannot parse all transitions. Some may be missing in Transitions
viewer.
Unable to parse the legacy transitions trace, data might be missing from
the viewer.
<filename>: <error>
Other unmapped errors. File a Winscope bug and attach your
trace.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-29 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[],[],null,["# Load traces\n\nThis page describes how to load traces using the Winscope Web UI.\n\nUpload using the web UI\n-----------------------\n\nYou can [run Winscope](/docs/core/graphics/winscope/run) locally or access it from a web server.\n\nTo load [captured traces](/docs/core/graphics/winscope/capture/overview) in Winscope, use the **Upload Traces** panel to\nupload saved traces. Click **Upload another file** to upload more traces or\nclick **X** to remove uploaded traces.\n\n**Figure 1.** Upload traces in Winscope.\n\nClick **View traces** to view the uploaded traces. Tabs for each trace\nappear on the top panel of the window. If the uploaded file contains the\nrelevant traces, a floating view of the screen recording trace or screenshot is\noverlaid on the screen.\n\nSee [Analyze traces](/docs/core/graphics/winscope/analyze/overview) for more information.\n| **Note:** The supported trace file types are Winscope traces (in Perfetto or legacy proto format), screenshots, MP4 videos with Winscope metadata (collected with adb screenrecord), zip files, gzip file, and bug reports.\n\nParse warnings and errors\n-------------------------\n\nWinscope uses a snackbar to display issues found when loading a trace, such as\nwhen a trace file is discarded because the data is old. The following list\nincludes the current warnings and their meanings:\n\n| Message | Description |\n|-----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| *corrupted archive* | Failed to load the zip file. This usually happens when the zip is empty (0 bytes). |\n| *`\u003cfilename\u003e`: discarded because data is old* | Any traces that finish more than 5 minutes before the next trace starts are discarded. |\n| *`\u003cfilename\u003e`: discarded because data is older than `\u003ctime\u003e`* | Based on the most recent monotonic or boot time offset found, any traces with an offset greater than 5 seconds are discarded. |\n| *`\u003cfilename\u003e`: overridden by another trace of type `\u003ctrace type\u003e`* | When equivalent traces (for example, trace and dump) exist in the same file, Winscope uses the following rules: - Perfetto traces override legacy traces of the same type. - Screen recordings override screenshots. |\n| *`\u003cfilename\u003e`: overridden by another trace of same type* | When traces of the same type exist in the same file, Winscope uses the following rules: - Perfetto traces override legacy traces of same type. - The largest Perfetto trace overrides all other Perfetto traces. - Traces overrides dumps for WindowManager and SurfaceFlinger. |\n| *`\u003cfilename\u003e`: unsupported format* | The legacy trace can't be parsed due to an invalid proto or missing Winscope parser. |\n| *Failed to create `\u003cparser_name\u003e` parser: `\u003cerror\u003e`* | Winscope identified the trace parser but couldn't parse the file. *File a Winscope bug and attach your trace.* |\n| *Cannot visualize all traces: Failed to initialize timeline data. Try removing some traces.* | Winscope failed to parse timeline data from the trace. *File a Winscope bug and attach your trace*. |\n| *Error occurred in frame mapping: `\u003cerror\u003e`* | Winscope failed to map the states between different traces for navigation. *File a Winscope bug and attach your trace*. |\n| *Missing `vsync_id` value for one or more entries in `\u003ctable\u003e`* | Failed to load Perfetto trace due to missing VSync ID information. *File a Winscope bug and attach your trace*. |\n| *Duplicate SF layer ID `\u003clayerId\u003e` found - adding it as **Duplicate** to the hierarchy* | SurfaceFlinger trace contains two layers with the same `layerId`. *File a SurfaceFlinger bug and attach your trace*. |\n| *Screen recording may not be synchronized with the other traces. Metadata contains monotonic time instead of elapsed* | The screen recording file is old and uses legacy metadata format that can't be synchronized. Screen recordings from newer versions of Android shouldn't have this issue. |\n| *Cannot parse all transitions. Some may be missing in Transitions viewer.* | Unable to parse the legacy transitions trace, data might be missing from the viewer. |\n| *`\u003cfilename\u003e`: `\u003cerror\u003e`* | Other unmapped errors. *File a Winscope bug and attach your trace*. |"]]