devtools icon indicating copy to clipboard operation
devtools copied to clipboard

Enable offline support for all DevTools screens

Open kenzieschmoll opened this issue 3 years ago • 8 comments

Enabling offline support will:

  1. Be helpful for users who want to export data and reload later or to send to other developers for debugging
  2. 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)
  3. 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

kenzieschmoll avatar Sep 13 '22 16:09 kenzieschmoll

It was mentioned that the Logging page might be a good place to start.

CoderDake avatar Sep 14 '22 19:09 CoderDake

Network page may also be a good 2nd candidate

CoderDake avatar Sep 19 '22 18:09 CoderDake

For the Network Page, consider making sure that we use HAR file format for network requests

CoderDake avatar Sep 19 '22 18:09 CoderDake

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.).

kenzieschmoll avatar Sep 19 '22 18:09 kenzieschmoll

Related issue: https://github.com/flutter/devtools/issues/4645

polina-c avatar Jan 27 '23 16:01 polina-c