devtools
devtools copied to clipboard
Enable offline support for all DevTools screens
Enabling offline support will:
- Be helpful for users who want to export data and reload later or to send to other developers for debugging
- Be especially helpful for faking test data while developing DevTools. Then we can just write
SomeScreenData.parse(someOfflineData)to initialize fake testing data for the screen. If we continue to integrate with Stager, this will be useful for both testing and stager development (see https://github.com/flutter/devtools/pull/446) - Be helpful for users to be able to include in bug reports
- [ ] Inspector - https://github.com/flutter/devtools/issues/1966
- [ ] Performance - already done for the most part, but need to make sure we include any raster metrics data that is present
- [ ] CPU Profiler - already done, but need to ensure we are including any filters that are set on the data
- [x] Memory Profiler - need to switch to how other screens export data and send data to Downloads (https://github.com/flutter/devtools/issues/3411) and need to audit to ensure that all data from screen is included in the output - https://github.com/flutter/devtools/issues/6759
- [ ] Debugger - is there a use case for looking at an "offline" debugger state? This is still useful for creating test data files, but we may want to make these methods visibleForTesting and potentially only expose for debug builds of the DevTools app if we don't want to expose an "Export" button for users.
- [ ] Network - we have an "Export as Har" function, but we need to hook this up to our existing import / export framework and ensure that all data to recreate the state of the screen for offline uses is included in the output (e.g. selected request, filters, etc.)
- [ ] Logging (https://github.com/flutter/devtools/issues/29)
- [ ] App Size (https://github.com/flutter/devtools/issues/8110)
- [ ] Vm Developer Tools Screen
It was mentioned that the Logging page might be a good place to start.
Network page may also be a good 2nd candidate
For the Network Page, consider making sure that we use HAR file format for network requests
Exporting as HAR already exists for the network page, but for the full export of the network page, we'll also need to include extra devtools-specific information (things like selected request, filters, etc.).
Related issue: https://github.com/flutter/devtools/issues/4645