-
Notifications
You must be signed in to change notification settings - Fork 29
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
Improve performance time for ImpactedFiles resolver #1181
Improve performance time for ImpactedFiles resolver #1181
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## main #1181 +/- ##
==========================================
- Coverage 95.88% 95.88% -0.01%
==========================================
Files 493 493
Lines 16869 16864 -5
==========================================
- Hits 16175 16170 -5
Misses 694 694
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Codecov ReportAll modified and coverable lines are covered by tests ✅ ✅ All tests successful. No failed tests found. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chatted about this, this is huge.
…ve-impacted-files-resolver-time
…m:codecov/codecov-api into 3397-improve-impacted-files-resolver-time
✅ Sentry found no issues in your recent changes ✅ |
Purpose/Motivation
This PR intends to improve loading times in the Pull detail page by adjusting the logic in the
ImpactedFiles
resolver.Links to relevant tickets
This is one of the many resolvers I'd like to tackle with the investigation done here.
GH Ticket
What does this PR do?
I'm improving the time it takes to finish the
ImpactedFiles
resolver. This resolver is used both in the commit + pull details page, and it needlessly calls the provider every time we get to this page. That's right, we call GH/GL/BB every time you hit any of these pages to display data that doesn't need the provider (there's one part that rightfully requests data, but that's when you unfurl the specific file to see the diff data). This is because we use thehead_report
key, which always has an "apply_diff" function to it, calling GH in the process.Most of the data displayed in these pages either comes from our DB or from a file stored in GCS. Therefore, I'm adjusting the resolver to use a property that doesn't rely on the data that comes from github, with the caveat that I need to be mindful that I won't need that data, which I dont.
Legal Boilerplate
Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. In 2022 this entity acquired Codecov and as result Sentry is going to need some rights from me in order to utilize my contributions in this PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.