-
-
Notifications
You must be signed in to change notification settings - Fork 128
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
Performance is inconsistent #148
Comments
Hi! The server is unlikely to be the problem, as all the requests happen on the client side. You can take a look at your browser's developer console (press F12 in Chrome on Linux/Windows) and look for errors there. :) |
Hmm, it seems like GitLab.com is having issues... According to this GitLab should allow cross origin requests for the API. I don't use GitLab.com and I have no problems with CORS errors on my own GitLab instance. Can you try again later or can anyone reproduce this behavior with GitLab.com? |
I have retried several time with no success. Similar console errors can also be seen with the following config:
I believe the above is expected to grab 10 public projects with pipelines? The gitlab-monitor does manage to display some pipelines to the screen but I'm not certain the behaviour is how you intended. Here is the resulting log: |
Can you switch to the network tab in the DevTools, click on one of the failed requests and send back the result? (Make sure to redact any tokens from the screenshot if there are any) |
HTTP status 429 is "Too many requests". You may need to further decrease the pollingIntervalMultiplier. Are you (or other people) making API requests from the same IP address using other applications? Maybe GitLab is rate-limiting your public IP. |
I don't think anyone else is making that many API requests against our GitLab repos. I have been playing with certain configurations.
Previously I had pollingIntervalMultiplier set to 1 and I definitely see an improvement now with 5 set. With my current setup, I expect to see 12 projects on the screen. On my Windows system in Firefox and Chrome I didn't manage to ever load all projects. My observation:
Is the actual time between API calls affected by pollingIntervalMultiplier? Or is there some other delay that could be inserted? Here is another screencap of an error that (I believe) is from the project discovery phase. Thanks for your continued help. |
Yes. But only between full refreshes. I think there needs to be another mechanic that handles 429s without queueing up indefinite amounts of requests. Unfortunately, as far as I can see, GitLab does not provide information on how long the rate limiting is applied. Another, way more elegant solution, would be a push-based solution. (e.g. using WebPush and VAPID)
|
This seems to be the relevant documentation: https://docs.gitlab.com/ee/user/gitlab_com/#haproxy-api-throttle Perhaps the easiest approach is to throttle the requests? |
I'm not much of a node/vue expert - but I think part of the problem is that even when filtering (e.g. maxAge, project filters etc) what is shown and using a group scope the app still queries all branches and tags etc for all projects right? The filter only changes what is displayed and not what is queried? This can cause a huge deluge of requests (for all 40 projects in a subgroup for example) even though configuring for 5 projects to be shown. Gitlab.com rightly smashes down with its rate control under these circumstances. For me a simple explicit list of projectId's would be the nicest way to control both what is queried and displayed |
On my Windows PC with Chrome v 84.0.4147.105, my 8 gitlab projects display correctly some of the times.
The dashboard also seems to update pipeline information for a brief time, and then stop.
Other times, the page doesn't completely load at all; one or two projects are fetched successfully, but the remainder of the projects fail to load.
I've tried using both the https://gitlab-monitor.timoschwarzer.com/ site as well as running a server from the docker locally using
docker run -d -p 9000:80 timoschwarzer/gitlab-monitor
.My projects are hosted at gitlab.com.
My configuration is as follows:
Could you make any recommendations?
How to debug? A preferred browser with version to use?
Is it recommended to run from the source code with additional configuration settings?
Your input is much appreciated.
Thanks.
The text was updated successfully, but these errors were encountered: