Work with the author of gitlab-ci-pipelines-exporter package to use different endpoint
During analyzing error budget reports on Projects List API endpoint (#386258 (closed)) I noticed a pattern:
couple of users were using a specific params combination, using search
param.
- total requests: 2,597,483
- slow requests: 115,429
- requests from top 5 users: 46,717 (https://log.gprd.gitlab.net/goto/04f4e0c0-9103-11ed-85ed-e7557b0a598c)
By looking at the query log, I noticed all of those users are having similar user agent, gitlab-ci-pipelines-exporter. Quick googling showed me this repo: https://github.com/mvisonneau/gitlab-ci-pipelines-exporter
I am not confident in GoLang, but I suspect that this line may be a culprit: https://github.com/mvisonneau/gitlab-ci-pipelines-exporter/blob/main/pkg/gitlab/projects.go#L35
There are couple of ways here:
- collaborate with the open-source author and either use different endpoint or create endpoint that would return very limited set of data
- create a PR to the repository
I am delighted to see wider community building tools around GitLab api, yet I know that we need to provide very effective API for that.