The open source OpenXR runtime
1# Tracing with Tracy {#tracing-tracy}
2
3<!--
4Copyright 2022-2023, Collabora, Ltd. and the Monado contributors
5SPDX-License-Identifier: BSL-1.0
6-->
7
8## Requirements
9
10One of the tracing backends Monado has is [Tracy][]. Note, that the backend is
11fully integrated so you only need to make sure that the correct CMake flags are
12set, `XRT_HAVE_TRACY` and `XRT_FEATURE_TRACING`. Building the [Tracy][] profiler
13is also required, but the order doesn't matter.
14
15* Get the [Tracy][] profiler.
16 * **Linux**: build it, needs `glfw3`, `freetype2` & `capstone` dev packages.
17 * **Windows**: download release binaries from page, or build it.
18* Build Monado with `XRT_FEATURE_TRACING` & `XRT_HAVE_TRACY` being `ON`.
19
20## Running
21
22Start the [Tracy][] profiler, either try to connect directly to the host you
23want to run Monado on, or wait for it to show up in the first initial UI. Then
24run Monado like you normally would, for example as follows.
25
26```bash
27monado-serivce
28```
29
30## Notes
31
32Unlike @ref tracing-perfetto Tracy supports Windows, it also supports live
33viewing of the data stream. But Tracy can only trace one application at a time,
34whereas Perfetto can do multiple processes at the same time and whole system
35tracing, giving a higher level overview of the whole system.
36
37[Tracy]: https://github.com/wolfpld/tracy