1# Converting between trace formats
2
3Perfetto traces can be converted into other trace formats using the
4`traceconv` tool.
5
6The formats supported today are:
7 * proto text format: the standard text based representation of protos
8 * Chrome JSON format: the format used by chrome://tracing
9 * systrace format: the ftrace text format used by Android systrace
10 * profile format (heap profiler only): pprof-like format.
11   This is only valid for traces with
12   [heap profiler](src/profiling/memory/README.md) dumps.
13
14traceconv is also used in the UI to convert Perfetto traces to the Chrome
15JSON format and directly open these traces in the legacy systrace UI
16(Catapult's chrome://tracing).
17
18Usage
19---------
20```
21curl https://get.perfetto.dev/traceconv -o traceconv
22chmod +x traceconv
23./traceconv [text|json|systrace|profile] [input proto file] [output file]
24```
25
26Examples
27---------
28
29### Converting a perfetto trace to systrace text format
30`./traceconv systrace [input proto file] [output systrace file]`
31
32### Opening a Perfetto trace in the legacy systrace UI
33Navigate to ui.perfetto.dev and choose the "Open with legacy UI" option. This
34runs traceconv (the progress of which can be seen in the UI) and passes the
35converted trace seamlessly to chrome://tracing
36
37### Converting a perfetto trace to Chrome JSON format (for chrome://tracing)
38`./traceconv json [input proto file] [output json file]`
39