# Fuchsia tracing guides

If you are unfamiliar with the Fuchsia tracing system, see
[Fuchsia tracing system](/docs/concepts/tracing/README.md).

## Tutorial

These guides describe the steps necessary to add tracing to your Fuchsia
components:

Note: If you are unfamiliar with tracing, you should complete these guides
sequentially. However, you can also use each guide individually.

* [Registering a trace provider](/docs/development/tracing/tutorial/registering-a-trace-provider.md)
* [Adding tracing in your code](/docs/development/tracing/tutorial/adding-tracing-in-code.md)
* [Recording a trace](/docs/development/tracing/tutorial/recording-a-fuchsia-trace.md)
* [Converting and visualizing a trace](/docs/development/tracing/tutorial/converting-visualizing-a-trace.md)

## Advanced guides

These guides are for advanced users who already understand the basics
of tracing in Fuchsia:

* [Tracing booting Fuchsia](/docs/development/tracing/advanced/recording-a-boot-trace.md)
* [CPU performance monitor](/docs/development/tracing/advanced/recording-a-cpu-performance-trace.md)
* [Kernel tracing](/docs/development/tracing/advanced/recording-a-kernel-trace.md)
* [Asynchronous tracing](/docs/development/tracing/advanced/tracing-asynchronously.md)
