pixiebrix-extension icon indicating copy to clipboard operation
pixiebrix-extension copied to clipboard

Blueprints/extensions in Page Editor sometimes take a long time (30+ seconds) to load

Open twschiller opened this issue 3 years ago • 1 comments

Context

  • Enterprise user has 60+ extension installed, with 4-5 active on the page
  • Normal speed is 2-5 seconds to initialize the Page Editor. User has reported it sometimes take a long time (30+ seconds) to load

Discussion

  • Could be the available/unavailable calculation? Probably makes sense not to block Page Editor load on that
  • At some point we have to figure out how to report performance metrics from the extension

twschiller avatar Oct 18 '22 01:10 twschiller

Related/copy:

  • https://github.com/pixiebrix/pixiebrix-extension/issues/2614

Also potentially related:

  • https://github.com/pixiebrix/pixiebrix-extension/issues/3945

fregante avatar Oct 18 '22 03:10 fregante

Potentially addressed in merged PR https://github.com/pixiebrix/pixiebrix-extension/pull/4531 which addressed the issue https://github.com/pixiebrix/pixiebrix-extension/issues/2614 which @fregante called out

twschiller avatar Oct 27 '22 02:10 twschiller

Blueprints still take a while to load, maybe that could be a more specific issue or we can reuse this one for that purpose. I think however it would require changes in the app more than here, I'm not sure:

  • https://github.com/pixiebrix/pixiebrix-app/issues/2184

fregante avatar Oct 27 '22 02:10 fregante

Blueprints still take a while to load, maybe that could be a more specific issue or we can reuse this one for that purpose. I think however it would require changes in the app more than here

Given that we can never avoid network blips, the right way to go is probably to use the local version of the blueprints and then when the remote blueprints load update any alerts, etc.

Given that the user should have a local copy of the blueprint to have the extension installed in the first place, IIRC the only benefit to blocking on the remote blueprint load is to show a warning if the user is editing an outdated version of the blueprint

twschiller avatar Oct 27 '22 13:10 twschiller

@twschiller - The team would like to know what "definition of done" looks like. Are we fixing the performance issue, or making the UX better to work around the issue? Is the goal for everything to load in 5 seconds or less?

Note -- Johnny has looked into https://github.com/pixiebrix/pixiebrix-app/issues/2184 and hasn't been able to reproduce it, so requires deeper investigation.
Note -- The team believes there is a need to continue thinking/evolving the architecture for this topic. Mostly related to pulling bulk lists of entities. (e.g. recipes and blocks)

Story pointing based on assumption that using cached info for recipes: 5 (Aleksandr)

corinnemayans avatar Oct 28 '22 15:10 corinnemayans

For this ticket, I think the definition of done should be:

  1. Making Page Editor startup time not dependent on remote brick fetching. I don't know why it should be? @fregante's PR might have already accomplished this? https://github.com/pixiebrix/pixiebrix-extension/issues/2614
  2. Send send slow (5+ second) Page Editor times to rollbar at warning level so we can asses the scale of the problem

The re-architecture of registry fetching is going to require specification and R&D specs. Support for brick version pinning is a big consideration that needs to be thought out

twschiller avatar Oct 28 '22 21:10 twschiller

3 story points remaining

corinnemayans avatar Nov 04 '22 14:11 corinnemayans