49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
|
|
# Frequently Asked Questions
|
||
|
|
|
||
|
|
## How do I open trace in UI from command line?
|
||
|
|
|
||
|
|
When collecting traces from the command line, a convenient way to open traces
|
||
|
|
is to use the [open\_trace\_in\_ui script](/tools/open_trace_in_ui).
|
||
|
|
|
||
|
|
This can be used as follows:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
curl -OL https://github.com/google/perfetto/raw/master/tools/open_trace_in_ui
|
||
|
|
chmod +x open_trace_in_ui
|
||
|
|
./open_trace_in_ui -i /path/to/trace
|
||
|
|
```
|
||
|
|
|
||
|
|
If you already have a Perfetto checkout, the first two steps can be skipped.
|
||
|
|
From the Perfetto root, run:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
tools/open_trace_in_ui -i /path/to/trace
|
||
|
|
```
|
||
|
|
|
||
|
|
## Incorrectly displayed overlapping events in JSON trace
|
||
|
|
|
||
|
|
NOTE: JSON is considered a legacy trace format and is supported on a best-effort
|
||
|
|
basis.
|
||
|
|
|
||
|
|
The Perfetto UI and trace processor do support overlapping B/E/X events, in
|
||
|
|
compliance with the
|
||
|
|
[JSON spec](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.nso4gcezn7n1).
|
||
|
|
As stated in the spec, events are only allowed to perfecty nest.
|
||
|
|
|
||
|
|
Users are recommended to emit
|
||
|
|
[TrackEvent](/docs/instrumentation/track-events.md)
|
||
|
|
instead, Perfetto's native trace format. See
|
||
|
|
[this guide](/docs/reference/synthetic-track-event.md) for how common JSON
|
||
|
|
events can be represented using
|
||
|
|
TrackEvent.
|
||
|
|
|
||
|
|
## How can I use Perfetto tooling without instrumenting my program?
|
||
|
|
A common problem is that users want to use Perfetto analysis and visualization
|
||
|
|
tooling but they don't want to instrument their program. This can be because
|
||
|
|
Perfetto is not a good fit for their use-case or because they may already have
|
||
|
|
an existing tracing system.
|
||
|
|
|
||
|
|
The recommended approach for this is to emit Perfetto's native TrackEvent proto
|
||
|
|
format. A reference guide for this is available
|
||
|
|
[here](/docs/reference/synthetic-track-event.md).
|