Skip to content

Make timeline support systrace to analyze performance more effectively #47771

@yuanhuihui

Description

@yuanhuihui

1. Background

Timeline can't view cpu and other related system information, which is very important for performance analysis. Especially the flutter hybrid project, you need to check platform trace and flutter trace at the same time.

2. Issues

Make timeline support for systrace to assist in analyzing performance issues.

3. Solutions

dart-sdk repository

engine repository

flutter repository

4. Results

flutter run --trace-systrace , capture systrace as below:

d8c9e40c-6e45-43e3-b643-fd925dd271d0

After optimization. We can see the synchronous and asynchronous events of the dart and c++ layers, as below:
8777b70c-f0d6-4f01-9413-bf11919ee184

Later, I will further share which flutter performance issues only systrace can find the root cause in Android, and timeline is incapable. Because timeline does not capture system traces and CPU schedules, such as surfaceFlinger.

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: performanceRelates to speed or footprint issues (see "perf:" labels)customer: crowdAffects or could affect many people, though not necessarily a specific customer.dependency: dartDart team may need to help usperf: speedPerformance issues related to (mostly rendering) speedtoolAffects the "flutter" command-line tool. See also t: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions