Apache DevLake is an open-source dev data platform to ingest, analyze, and visualize the fragmented data from DevOps tools, extracting insights for engineering excellence, developer experience, and community growth.
What are you trying to refactor? Why should it be refactored now?
CalculateChangeLeadTimeMeta subtask is slow when there are a lot of records in the tables that are used to calculate the needed metrics that will eventually end up in the 'project_pr_metrics' table.
Queries that are slow for us are the ones that are called in getFirstCommit and getFirstReview methods.
They are querying pull_request_commits and pull_request_comments tables.
Our fix was to add an index to pull_request_id on both tables.
Describe the solution you'd like
How to refactor?
Introduce index by pull_request_id for pull_request_commits and pull_request_comments tables.
Related issues
Please link any other
Additional context
Add any other context or screenshots about the feature request here.
What and why to refactor
What are you trying to refactor? Why should it be refactored now? CalculateChangeLeadTimeMeta subtask is slow when there are a lot of records in the tables that are used to calculate the needed metrics that will eventually end up in the 'project_pr_metrics' table. Queries that are slow for us are the ones that are called in
getFirstCommit
andgetFirstReview
methods. They are queryingpull_request_commits
andpull_request_comments
tables. Our fix was to add an index topull_request_id
on both tables.Describe the solution you'd like
How to refactor? Introduce index by pull_request_id for
pull_request_commits
andpull_request_comments
tables.Related issues
Please link any other
Additional context
Add any other context or screenshots about the feature request here.