49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
# Atrace categories
|
|
|
|
The atrace command (and the perfetto configuration) allow listing **categories**
|
|
to select subsets of events to be traced.
|
|
|
|
Each category can include some userspace events and some ftrace events.
|
|
|
|
## Vendor categories
|
|
|
|
It's possible to extend exiting categories (or to define new categories) from
|
|
the /vendor partition in order to add hardware specific ftrace events.
|
|
|
|
Since android 14, if the file `/vendor/etc/atrace/atrace_categories.txt`, atrace
|
|
and perfetto will consider the categories and ftrace events listed there.
|
|
|
|
The file contains a list of categories, and for each category (on the following
|
|
lines, indented with one or more spaces of time), a list of ftrace events that
|
|
should be enabled when the category is enabled.
|
|
|
|
Each ftrace event should be a subdirectory in `/sys/kernel/tracing/events/` and
|
|
should be of the form `group/event`. Listing a whole group is not supported,
|
|
each event needs to be listed explicitly.
|
|
|
|
It is not an error if an ftrace event is listed in the file, but not present on
|
|
the tracing file system.
|
|
|
|
Example:
|
|
|
|
```
|
|
gfx
|
|
mali/gpu_power_state
|
|
mali/mali_pm_status
|
|
thermal_tj
|
|
thermal_exynos/thermal_cpu_pressure
|
|
thermal_exynos/thermal_exynos_arm_update
|
|
```
|
|
|
|
The file lists two categories (`gfx` and `thermal_tj`). When the `gfx` category
|
|
is enabled, atrace (or perfetto) will enable
|
|
`/sys/kernel/tracing/events/mali/gpu_power_state` and
|
|
`/sys/kernel/tracing/events/mali/mali_pm_status`. When the `thermal_tj` category
|
|
is enabled, atrace (or perfetto) will enable
|
|
`/sys/kernel/tracing/events/thermal_exynos/thermal_cpu_pressure` and
|
|
`/sys/kernel/tracing/events/thermal_exynos/thermal_exynos_arm_update`.
|
|
|
|
Since android 14, if the file `/vendor/etc/atrace/atrace_categories.txt` exists
|
|
on the file system, perfetto and atrace do not query the android.hardware.atrace
|
|
HAL (which is deprecated).
|