-
Notifications
You must be signed in to change notification settings - Fork 362
Closed
Description
I'm working on performance profiling and optimizations for PDF rendering in Flutter. To understand the existing performance characteristics, I've used Timeline and TimelineTask to track various operations.
Unless I'm missing some controls for the timeline, the existing tools make it difficult to chart the information that I want to see.
I'll illustrate with an example. Here's a screenshot of one of my profiles.
Order of task lanes: It's too difficult to get these task lanes in a useful order.
- The order is alphabetical (except for Flutter's special lanes at the top). To keep my lanes from appearing way down below the fold, I had to prefix all of them with the highest priority alphabetical option, which was
0. I'm forced to trade readability of task titles for quicker access to the information. - The name of the lane is tied to whichever task starts first. This is uncontrollable in situations where we're not always running the same set of tasks in the same order. I'd prefer that not all of my tasks start with "0.", but if any of them don't, then it's possible that the whole task lane will get a different name and then be pushed way down in the list, making it difficult for me to visually compare timelines.
Task parenting: Parenting one task to another doesn't have the expected visual effect.
- I wanted to control the parenting of my tasks so that I'd get a single lane with a multi-level flame chart. I'm tracking a number of asynchronous operations, so I couldn't log everything under
Timeline.startSync(). I tried creating multipleTimelineTaskobjects with explicitparenttasks. I expected that parenting to be honored, visually, much the way that synchronous tasks are displayed, but instead I ended up with multiple timeline lanes and the order was still alphabetical, despite the parenting.
Color of tasks: I didn't see any controls for task colors, but it would be easier to quickly glance at the timing profile if I could choose colors for different tasks.
Metadata
Metadata
Assignees
Labels
No labels
