-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[pending payment] [$250] [LOW] [Performance] Opening a transaction thread can be slow to load sometimes #42687
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01d2d0fcf90d743949 |
Triggered auto assignment to @joekaufmanexpensify ( |
cc @puneetlath |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif ( |
@TMisiukiewicz is investigating this today and tomorrow |
Sounds good! @TMisiukiewicz could you please comment so I can assign you? |
ProposalPlease re-state the problem that we are trying to solve in this issue.Opening transaction threads can sometimes be slow, especially the first time a thread is opened. While subsequent openings are faster due to caching, there is still room for improvement in overall performance. What is the root cause of that problem?The root cause appears to be twofold:
What changes do you think we should make in order to solve the problem?
What alternative solutions did you explore? (Optional)
|
I was investigating this issue and have put together a proposal based on my findings. Now that I see that a Callstack member will be assign, I'm happy to step back. However, I wanted to share my proposal in case it's helpful. Please let me know if you'd like me to remove it :D Thanks! |
@brunovjk I agree with your proposal. I using React performance tests, and the page rendering time is not very long. There is a slight delay when parsing all_report whiling all_report larger, but it does not exceed 1 second. The real issue lies with the server response. Optimizing only the frontend without modifying the backend will have limited effectiveness. |
The backend from our findings is not the bottleneck, as you can see in the video, the response of OpenReport was fast. there is something in frontend which is causing the transaction threads slower @brunovjk thank you for the proposal, @TMisiukiewicz can work with you as well if they find that you are on a good path |
hello, I am Tomek from Callstack, I am going to take it over from @TMisiukiewicz :) |
📣 @aimane-chnaif 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
We investigated a trace from the slack thread and observed that Optimising |
Sounds good. Thanks for the update! |
@rinej is there an ETA on a PR here? |
Not overdue |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.84-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-06-24. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.85-7 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-06-28. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@aimane-chnaif mind completing checklist here so we can prep to issue payment? |
This is not regression but performance improvement. I don't think regression test is needed. |
Sounds good! |
Only payment here is $250 to @aimane-chnaif for C+ via Upwork |
@aimane-chnaif please accept our offer and then I'll pay you! |
Bumped in slack |
@aimane-chnaif asked that I set this to weekly for now, as he can't accept the Upwork offer until next week. |
Offer expired. Can you please send new offer? |
New job here. |
@aimane-chnaif offer sent! |
Accepted. Thanks |
@aimane-chnaif $250 sent and contract ended! |
Upwork job closed. |
All set, thanks everyone! |
Coming from here
Problem
One issue that I've consistently noticed as an approver is that opening a transaction thread seems to be much slower than opening a chat or an expense report. It doesn't seem to be the API call that is slow as I'm seeing OpenReport respond in a few hundred milliseconds. It seems to be something on the client that causes a delay before we even call OpenReport. Is this something that someone could look into?
Logs:
logs-2024-05-27 17_37_19.380.txt
JSON trace from Chrome:
In the Slack post
Screen.Recording.2024-05-27.at.1.36.37.PM.mp4
Solution
Profile and investigate opening the transaction thread and why it's taking so much longer even if the API request is fast.
You can:
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @joekaufmanexpensifyThe text was updated successfully, but these errors were encountered: