Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pulling container image message but actually installing vscode extensions #8323

Closed
sagor999 opened this issue Feb 18, 2022 · 7 comments · Fixed by #8335
Closed

pulling container image message but actually installing vscode extensions #8323

sagor999 opened this issue Feb 18, 2022 · 7 comments · Fixed by #8335
Labels
team: IDE team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team

Comments

@sagor999
Copy link
Contributor

Is your feature request related to a problem? Please describe

I noticed that when I am waiting for workspace to start and sitting on "pulling container image" message, actual container is not actually pulling an image. Instead when I looked in logs, it was installing vscode extensions. Actual image pull was about 3 seconds and then for about 2 minutes it was installing those extensions.
Would it be possible to add a new state for that loading screen: "setting up IDE" or something like that?
And then next step would be to investigate why sometimes it takes quite a bit of time to do that.

Describe the behaviour you'd like

Separate message when we are done pulling container image and doing something else.

Describe alternatives you've considered

Additional context

@sagor999 sagor999 added team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team team: IDE labels Feb 18, 2022
@sagor999
Copy link
Contributor Author

Tagging @gitpod-io/engineering-ide @gitpod-io/engineering-webapp for input.

@akosyakov
Copy link
Member

akosyakov commented Feb 19, 2022

Actual image pull was about 3 seconds and then for about 2 minutes it was installing those extensions.

How did you investigate it? Who was pulling extensions? Container was already running and VS Code was installing extensions? Server was doing it?

There is already such message Opening workspace.... It should be shown if a container is running and VS Code Server is starting, but extensions installation happens async. It should not block a server startup as for now. (cc @jeanp413 @mustard-mh)

@jankeromnes
Copy link
Contributor

jankeromnes commented Feb 19, 2022

Wow, intriguing find @sagor999 👏

I'm also a little surprised, because the dashboard only shows Pulling container image when workspaceInstance?.status.phase === "creating":

// Creating means the workspace is currently being created. That includes downloading the images required
// to run the workspace over the network. The time spent in this phase varies widely and depends on the current
// network speed, image size and cache states.
case "creating":
phase = StartPhase.Creating;
statusMessage = <p className="text-base text-gray-400">Pulling container image …</p>;
break;

Then, when the image pull is done and the instance is created, I would expect it to move on to "initializing" (i.e. git clone or restoring backup):

// Initializing is the phase in which the workspace is executing the appropriate workspace initializer (e.g. Git
// clone or backup download). After this phase one can expect the workspace to either be Running or Failed.
case "initializing":
phase = StartPhase.Starting;
statusMessage = <p className="text-base text-gray-400">{isPrebuilt ? 'Loading prebuild …' : 'Initializing content …'}</p>;
break;

And only then finally switch to "running" and show a brief message while the IDE is getting ready. I thought the IDE would only install extensions during that phase, but I may be wrong:

// Running means the workspace is able to actively perform work, either by serving a user through Theia,
// or as a headless workspace.
case "running":


So, if you saw Pulling container image while the IDE was actually installing extensions (i.e. the image was already pulled and the container already created), I guess either the workspace instance phase "creating" doesn't mean what the dashboard thinks it means, or maybe the dashboard somehow didn't receive the instance updates for the "initializing" and "running" phases (overloaded websocket? event routing bug? mini-outage? front-end frozen for some reason?)

Would also be very interested in how you investigated this. 🔍

@iQQBot
Copy link
Contributor

iQQBot commented Feb 19, 2022

I discovered this early on, and the fact that the workspace was in content initializing

@jeanp413
Copy link
Member

There is already such message Opening workspace.... It should be shown if a container is running and VS Code Server is starting, but extensions installation happens async. It should not block a server startup as for now.

As Anton said extension installation is async once the server started so it's not a blocker, IDE is marked as ready as soon as http server started and code services are created

@mikenikles
Copy link
Contributor

@shaal FYI since you've asked for more transparency on the workspace startup screen.

@shaal
Copy link
Contributor

shaal commented Feb 19, 2022

@mikenikles thank you!
I think everyone would benefit from getting information on what they're waiting for.
Currently there's only 1 generic message pulling container image.
I had opened many issues regarding startup times, and lack of information.
One example is slowness caused by big artifacts that were generated during prebuild - #7002

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team: IDE team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants