-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
As a developer, I want to run some portion of my app and get information about:
- How many frames were rendered
- Average/P90/P99 build times
- Average/P90/P99 raster times
- Information about the top N worst build/raster frames
- How much time was spent in network or disk IO from dart:io
- The ability to break this down by what files/hosts were accessed and how long it took
- How much time was spent in platform channels
- The ability to break this down by channel name/method call
- GC stats:
- Total UI thread time in GC
- Total time of other thread(s) in GC
- How many GCs ran/what types
- Average/P90/P99 memory usage during the run
- Average/P90/P99 CPU usage during the run
- Average/P90/P99 GPU usage during the run
I would like to get this information with minimal impact on actual performance of my application.
A lot, but not all of this information is available in the timeline today. Some of this information is currently provided on some platforms, whereas on other platforms it is missing or only available via polling that devtools may do.
It would probably be best to start with some of our existing performance benchmarks and see what we can do to get the output to look more like this. We should also evaluate whether we can use timeline/perfetto tracing or not and how much of an impact it is having on performance as part of this bug.
/cc @gaaclarke @iskakaushik - I think this intersects with some of the work you're currently doing.
/cc @jiahaog fyi
/cc @kenzieschmoll @polina-c @jacob314 for devtools input