···11+# Tracing with Tracy {#tracing-tracy}
22+33+<!--
44+Copyright 2022, Collabora, Ltd. and the Monado contributors
55+SPDX-License-Identifier: BSL-1.0
66+-->
77+88+## Requirements
99+1010+One of the tracing backends Monado has is [Tracy][]. Note, that the backend is
1111+fully integrated so you only need to make sure that the correct CMake flags are
1212+set, `XRT_HAVE_TRACY` and `XRT_FEATURE_TRACING`. Building the [Tracy][] profiler
1313+is also required, but the order doesn't matter.
1414+1515+* Get the [Tracy][] profiler.
1616+ * **Linux**: build it, needs `glfw3`, `freetype2` & `capstone` dev packages.
1717+ * **Windows**: download release binaries from page, or build it.
1818+* Build Monado with `XRT_FEATURE_TRACING` & `XRT_HAVE_TRACY` being `ON`.
1919+2020+## Running
2121+2222+Start the [Tracy][] profiler, either try to connect directly to the host you
2323+want to run Monado on, or wait for it to show up in the first initial UI. Then
2424+run Monado like you normally would, for example like below.
2525+2626+```bash
2727+monado-serivce
2828+```
2929+3030+## Notes
3131+3232+Unlike @ref tracing-perfetto Tracy supports Windows, it also supports live
3333+viewing of the data stream. But Tracy can only trace on application at a time
3434+where as Perfetto can do multiple processes at the same time and whole system
3535+tracing giving a higher level overview of the whole system.
3636+3737+[Tracy]: https://github.com/wolfpld/tracy