Optimize/eliminate N+1 queries from Grape API endpoints
Below is list of API endpoints that a customer uses, and we should attempt to optimize/remove any N+1 queries if there are any:
-
https://{gitlab_server}/api/v4/projects/{namespace_project} -
https://{gitlab_server}/api/v4/projects/{project}/repository/commits/{sha} -
https://{gitlab_server}/api/v4/projects/{project}/repository/commits?ref_name={branch_name}&since='{since_date}'&until='{until_date}' -
https://{gitlab_server}/api/v4/projects/{project}/repository/branches/{branch_name} -
https://{gitlab_server}/api/v4/projects/{project} -
https://{gitlab_server}/api/v4/projects/{project_id}/repository/files/{file_path}/{raw} -
https://{gitlab_server}/api/v4/projects/{project_id}/repository/commits/{commit_sha} -
https://{gitlab_server}/api/v4/license -
https://{gitlab_server}/api/v4/users?username={username} -
https://{gitlab_server}/api/v4/users -
https://{gitlab_server}/api/v4/projects -
https://{gitlab_server}/api/v4/groups/{group_id}/members -
https://{gitlab_server}/api/v4/groups -
https://{gitlab_server}/api/v4/users/{user_id} -
https://{gitlab_server}/api/v4/projects/{project_id}/members
These are all profiled in https://redash.gitlab.com/dashboard/gitlab-profiler-statistics at the moment.
Edited by Stan Hu