# bytrace ## Overview bytrace is a tool for you to trace processes and analyze performance. It encapsulates and extends the kernel ftrace and supports event tracking in the user space. With bytrace, you can open 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 **--trace\_begin** and **-o filename** \(or **--output filename**\) commands to capture traces and dump them to a specified file. ## How to Develop bytrace supports the following commands: **Table 1** Commands | Option | Description | | -------- | -------- | | -h, --help | Views the help text for bytrace. | | -b _n_, --buffer_size _n_ | Sets the size of the buffer (KB) for storing and reading traces. The default buffer size is 2048 KB. | | -t _n_, --time _n_ | Sets the bytrace uptime in seconds, which depends on the time required for analysis. | | --trace_clock _clock_ | Sets the type of the clock for adding a timestamp to a trace, which can be **boot** (default), **global**, **mono**, **uptime**, or **perf**. | | --trace_begin | Starts capturing traces. | | --trace_dump | Dumps traces to a specified position (console where you run this command by default). | | --trace_finish | Stops capturing traces and dumps traces to a specified position (console where you run this command by default). | | -l, --list_categories | Lists the bytrace categories supported by the device. | | --overwrite | Sets the action to take when the buffer is full. If this option is used, the latest traces are discarded; if this option is not used, the earliest traces are discarded (default). | | -o _filename_, --output _filename_ | Outputs traces to a specified file. | | -z | Compresses a captured trace. | ## Usage Example The following are some examples of bytrace commands: - Query supported labels. ``` bytrace -l ``` Alternatively, run the following command to query the supported bytrace categories: ``` bytrace --list_categories ``` - Capture traces whose label is ability, with the buffer size set to 4096 KB and bytrace uptime set to 10s. ``` bytrace -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace ``` - Set the clock type for traces to **mono**. ``` bytrace --trace_clock mono -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace ``` - Compress the captured trace. ``` bytrace -z -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace ```