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

Create instant feedback when a task is clicked without waiting for the task to actually spawn server-side. #15277

Closed
vparfonov opened this issue Nov 21, 2019 · 7 comments
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@vparfonov
Copy link
Contributor

Is your enhancement related to a problem? Please describe.

The delay between "the user clicks on the task" and "the output terminal is getting shown". The user doesn't really know if the action (clicking on the task) has been taken into account. When the connectivity is not great, this lead to very inconvenient UX.

Describe the solution you'd like

We should look at how we can first open the terminal output, so it gives a visual feedback to the end-user, display an indicator inside of it (ex: "Task "{task-name}" - Connecting....") and then do the necessary background connection between the task running in the container and the output displayed in the IDE

Describe alternatives you've considered

Additional context

@vparfonov vparfonov added kind/enhancement A feature request - must adhere to the feature request template. team/ide labels Nov 21, 2019
@vparfonov vparfonov added this to the Backlog - IDE 1 milestone Nov 21, 2019
@tolusha
Copy link
Contributor

tolusha commented Nov 22, 2019

it sounds like a Theia issue

@tolusha tolusha added the severity/P1 Has a major impact to usage or development of the system. label Nov 22, 2019
@vparfonov vparfonov modified the milestones: Backlog - IDE 1, 7.6.0 Nov 28, 2019
@ericwill ericwill mentioned this issue Dec 17, 2019
15 tasks
@vzhukovs vzhukovs removed their assignment Dec 19, 2019
@vinokurig vinokurig added the status/in-progress This issue has been taken by an engineer and is under active development. label Jan 8, 2020
@ericwill ericwill mentioned this issue Jan 8, 2020
16 tasks
@ericwill ericwill mentioned this issue Jan 28, 2020
12 tasks
@vitaliy-guliy
Copy link
Contributor

On che.openshift.io vanilla Theia runs tasks very fast. It looks like eclipse-che-theia extensions and eclipse-che plugins forces to have a 2 seconds delay in running of shell tasks and around 5 seconds for che tasks.

Will create a detailed report on the process of executing of che tasks, measuring the execution time.

@tsmaeder
Copy link
Contributor

Making the UI async might also help with #15541

@ericwill ericwill mentioned this issue Feb 19, 2020
21 tasks
@ericwill ericwill removed this from the 7.6.0 milestone Mar 3, 2020
@ericwill ericwill mentioned this issue Mar 12, 2020
50 tasks
@vitaliy-guliy
Copy link
Contributor

vitaliy-guliy commented Mar 30, 2020

Timings benchmarks of execution of Che and Theia (shell) tasks on che.openshift.io

1. Theia task
1st execution getting workspace tasks, resolve task macroses 1.5 seconds
launching task on the backend 0.2 seconds
Appeparing the terminal in 1.7 seconds
2nd, 3rd execution getting workspace tasks, resolve task macroses 1.3 seconds
launching task on the backend 0.2 seconds
Appeparing the terminal in 1.5 seconds
2. Che task
1st execution getting workspace tasks, resolve task macroses 1.5 seconds
launching task on the backend 2.7 seconds
Appeparing the terminal in 4.2 seconds
2nd, 3rd execution getting workspace tasks, resolve task macroses 1.3 seconds
launching task on the backend 1.9 seconds
Appeparing the terminal in 3.2 seconds

The reasons of such big delay are:

  • handler for Che tasks is located in tasks-plugin
  • too many communications between Theia and plugins when executing a command
  • Che terminal is opened from the task-plugin using theia.window.createTerminal() method of Plugin API, instead of being opened from Theia task service in task extension
  • network and hosted che server load

It was tested with a full set of plugins, with few plugins and without plugins. The conclusion: amount of plugins does not affect on the delay.

@vitaliy-guliy vitaliy-guliy removed the status/in-progress This issue has been taken by an engineer and is under active development. label Mar 30, 2020
@tsmaeder
Copy link
Contributor

@vitaliy-guliy all these measurements seem very long in comparison to running just plain Theia on my laptop. Do you think it's just the lower-powered environment compared to a laptop or some overhead introduced by OpenShift/Kubernetes/Storage?

@vitaliy-guliy
Copy link
Contributor

That local Theia works fast enough could be because your laptop is quite powerful. But I think it's mostly because everything's running locally. In this case, there is no delay that network adds.
And yes, OpenShift/Kubernetes affects on the task running, but we need to investigate how we can test it.

@vitaliy-guliy
Copy link
Contributor

Could potentially be related to eclipse-theia/theia#7496

@RomanNikitenko RomanNikitenko added status/in-progress This issue has been taken by an engineer and is under active development. team/editors and removed team/plugins labels Apr 21, 2020
@RomanNikitenko RomanNikitenko added status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. and removed status/in-progress This issue has been taken by an engineer and is under active development. labels May 12, 2020
@azatsarynnyy azatsarynnyy mentioned this issue May 13, 2020
19 tasks
@azatsarynnyy azatsarynnyy added this to the 7.14 milestone May 14, 2020
@RomanNikitenko RomanNikitenko removed the status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. label May 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

9 participants