| # 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). |