-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
investigate how to speed up prebuilds on gitpod repo #9874
Comments
I've noticed Using GitHub Code Search you can see that |
Yeah prebuilds are taking a really long time for me (+10min). It would be nice to simply not wait for the prebuild but instead see the progress of it in the editor via terminal |
@felladrin Is it the same effect in prebuilds? We cab split build and publish components, that only second depends on this flag. |
As you can see in this prebuild job(incremental) https://hw-gradle-research.preview.gitpod-dev.com/projects/gitpod/c4d70b3b-fc76-4df4-8312-b2eed367b452 Time cost in incremental prebuild tasks (download/upload from/to GCP etc not included)
incremental prebuilds works well in gradle, but not yarn & build see also incremental-prebuilds-result-log.zip you need to search with words below to see the real job after pre-prebuild (
|
incremental prebuilds will download pre-prebuild ( |
result of prebuild locate region and count of Gitpod project since May 01 in prod DB
They all in us cluster The road will be like this
So in this back and forth above we cost a lot of time in uploading and downloading |
How to improve it?
improve improvements above can reduce size of prebuild, so it can reduce the time for back and forth in download and upload base prebuild to reduce time of incremental prebuilds. |
incremental prebuilds got some conditions, you can check them out here
|
This result #9874 (comment) maybe caused by the trigger of these prebuilds - Github, is in US🙈 (commit push event) |
About prebuild sizes, I agree with @mustard-mh. We could transform this Lines 38 to 41 in 45f11d6
|
@felladrin It will imply that we need to wait 7 mins to work on backend plugin each time? 5 mins full gralde build + 2 mins of intellij indexing? I guess we indeed need to move to another rep and enable prebuilds there. Although moving to another repo does not solve the problem of long download/upload times? Pulling 10G should still be faster than 7mins? Let's move to command for now, and start looking in new setup for JB development or a discussion about running prebuild in the same cluster where they are stored? |
@mustard-mh I did not entirely understand this point. But please file a new issue for that and add to webapp inbox. cc @jankeromnes @geropl |
The trade-off that we're looking at today is: "spend 10 minutes for everyone outside of the EU region to download the prebuild + egress cost" vs "spend 7 minutes for anyone who wants to work on JB, without the egress cost". Hence, removing the gradle command for now makes 💯 sense. Moving to another repo - as you pointed out - does not solve the issue. That's to say, remove gradle now, wait for PVC and put it back in then. |
ok @mustard-mh could you make a PR about moving command and we pause on it for now |
moving to command doesn't seem to be enough, because it would make everyone who opens the gitpod repo generate 6GB of gradle cache, which is also costly to store on GS, and we advocate the concept of workspace use it up, so a lot of useless storage would be wasted, so I think we So I think we can add a command like |
@mustard-mh Could we introduce an env variable to control it? I can enable it for me always with settings then. |
@akosyakov That's fine |
Let's keep this issue opened and mark tech debt till the situation with prebuild is storage is not improved. Then we should put everything back and try again. We can unassign and remove from IDE project for now though. |
Now that #9927 has been merged, I've noticed that even if I don't press enter to start the Java task, I still have intellisense for kotlin files in |
@felladrin How fast is your dev loop when you try changes? gradle build is not relevant for IntelliJ, but for testing |
related #6650 |
For backend-plugin I open the repo on Gitpod IntelliJ IDEA and run For the gateway-plugin I use local IntellJ IDEA, so it's always relying on what has been previously cached here by (Not sure if this answers the question. But I can say it's already faster to develop JetBrains plugins, compared to 3 months ago.)
Can you tell more about it? Is it about |
No, I mean that |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Bug description
Right now there is a suspicion that gradle projects and Intellij indexing of them takes a lot of time. We should confirm whether it is true by profiling prebuilds somehow and understand why incremental prebuilds simply does not reuse dependencies and caches from last prebuild. We change these projects very rare.
Steps to reproduce
Run a prebuild on this repo.
Workspace affected
No response
Expected behavior
No response
Example repository
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: