Overview of Systrace

Systrace is a platform-provided tool that records device activity over a short period of time. The tool produces a report that combines data from the Android kernel, such as the CPU scheduler, disk activity, and app threads. The report helps you identify how best to improve your app or game's performance.

A sample Systrace report appears in Figure 1:

Screen capture of Systrace

Figure 1. A sample Systrace HTML report, which shows 5 seconds of interaction with an app

This report provides an overall picture of an Android device's system processes for a given period of time. The report also inspects the captured tracing information to highlight problems that it observes, such as UI jank or high power consumption.

Systrace guides

To learn more about the Systrace tool, see the following guides:

Command-line reference
Defines the different options and flags that you can pass into the command-line interface for Systrace.
System Tracing system app
Explains how to capture a system trace directly on any device running Android 9 (API level 28) or higher.
Navigate a Systrace report
Lists the elements of a typical report, presents keyboard shortcuts for navigating through the report, and describes how to identify types of performance problems.
Define custom events
Describes how you can apply custom labels to specific sections of your code, allowing for easier root-cause analysis in Systrace.
Improve your game's performance
Describes how you can use the Systrace tool to improve specific performance areas in a game, including framerate consistency, power consumption, and rendering smoothness.