flutter / flutter/devtools

Memory debugging are missing lots of features from Observatory

Open
#5,761 14 comments 0 reactions 0 assignees View on GitHub
fix it friday observatory migration P2 screen: memory
Dominant language
Dart
Stars
1.7k
Forks
404
Avg merge
6d 17h
Merged PRs (30d)
18

Description

The "Allocation Profile" option on Observatory is, I think, being replaced by "Memory" in devtools.
Right of the bat I am missing details about new and old heap, and internal vs external memory. I seemingly have to download the CSV file to get that info.
Next of I can no longer press any of the classes to get a detailed view (let alone go from there).

I answered something similar in the questionnaire that was given out some time ago (might have been years at this point, I'm not sure), but I'll repeat it here.

When debugging memory issues I often do this:

- Open observatory.
- Go to "Allocation Profile" and find the class. Click it.
- Use one of the "strongly reachable", "all direct instances", "all instances of subclasses" or "all instances of implementors" options.
- Click the resulting list, either going through it by hand (again clicking on the actual instances etc) and/or performing expression evaluations on the list.
- Open two or more instances in a new tab so I can visually compare them by tabbing back-and-forth.
- Use the "Retaining path" and "Inbound references" feature on instances.

Seemingly _none_ of this is possible though devtools. (and if it is I can't find it).

More advanced I've also hacked together scripts that could find interesting instances, I could then print their id and go to observatory for a visual of this instance (and again for instance use the "Retaining path" features etc) by changing the url for another instance (changing the (e.g.) "&objectId=objects%2F6661" part).

Can I please have this functionality back?

/cc @bkonyi @kenzieschmoll

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.