# ByTrace - [Introduction](#section152771918494) - [Architecture](#section6808195518497) - [Directory Structure](#section1610792125019) - [Usage](#section18684185975017) - [Repositories Involved](#section1849151125618) ## Introduction ByTrace is a tool for you to trace processes and monitor performance. It encapsulates and extends the ftrace in the kernel and supports tracing in the user space. This tool provides APIs and commands: 1. APIs: When developing an application, you can call ByTrace APIs in the application key code to perform tracing. 2. Commands: You can enable the desired label to obtain the tracing information. With ByTrace, you can enable a user-space or kernel-space label you want to view (run the **bytrace -l** command to query all the supported labels) and run the corresponding commands to capture traces and dump them to a specified file. ## Architecture ![](figures/architecture.png) ## Directory Structure ``` /developtools/bytrace_standard ├── bin # ByTrace code │ └── include # Header files │ └── src # Source files │ └── test # Test cases ├── interfaces # APIs │ └── innerkits # Header files of internal subsystems │ └── kits # Header files exposed externally ├── script # Scripts ``` ## Usage The following table lists the commands supported by ByTrace. ** Table 1** Commands supported by ByTrace