Skip to content
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

[Performance] General performance investigation for opening app from customer profile trace #46595

Open
1 of 6 tasks
hannojg opened this issue Jul 31, 2024 · 32 comments
Open
1 of 6 tasks
Assignees

Comments

@hannojg
Copy link
Contributor

hannojg commented Jul 31, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


What performance issue do we need to solve?

We had a customer meeting and they had really bad performance. We recorded multiple profile traces with them.
This issue is about the profile trace for app open.

The collection of issues:

What is the impact of this on end-users?

Slow or completely hanging/blocked app when starting.

List any benchmarks that show the severity of the issue

https://share.firefox.dev/4fgLVcm

Proposed solution (if any)

None yet, I will go through the profile and see what can be optimised, what exactly caused those lags.

List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)

not available yet

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Version Number: v9.0.11-5
Reproducible in staging?: not tested
Reproducible in production?: yes
Email or phone of affected tester (no customers): customer
Logs: See performance file
Notes/Photos/Videos: See attached video
Expensify/Expensify Issue URL: n/a
Issue reported by: @hannojg
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1721919928992729

View all open jobs on Upwork

Copy link

melvin-bot bot commented Jul 31, 2024

Auto-assigning issues to engineers is no longer supported. If you think this issue should receive engineering attention, please raise it in #whatsnext.

@hannojg
Copy link
Contributor Author

hannojg commented Jul 31, 2024

cc @sakluger (feel free to assign me as I (or someone from my team) will work on this ticket!)

@sakluger
Copy link
Contributor

sakluger commented Aug 5, 2024

Hey @hannojg, any updates on this collection of issues?

@melvin-bot melvin-bot bot removed the Overdue label Aug 5, 2024
@hannojg
Copy link
Contributor Author

hannojg commented Aug 6, 2024

Working through the issues one by one, currently working on this one:

I will also find someone from my team to help with these performance issues!

@melvin-bot melvin-bot bot added the Overdue label Aug 8, 2024
@sakluger
Copy link
Contributor

sakluger commented Aug 8, 2024

Looks like we are adding some timing performance logging: #46807

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Aug 8, 2024
@sakluger
Copy link
Contributor

I'm going to change this to a Weekly since it's a tracking issue related to four specific performance investigations.

@melvin-bot melvin-bot bot removed the Overdue label Aug 12, 2024
@sakluger sakluger added Weekly KSv2 and removed Daily KSv2 labels Aug 12, 2024
@hannojg
Copy link
Contributor Author

hannojg commented Aug 13, 2024

One important thing we just found out.
So someone from our team created in old dot ~2000 reports. When I opened new dot OpenApp took in total ~3 min to complete (and also returned over 20mb of data).

During that time the whole app seemed block, presumably due to the sequential queue waiting for OpenApp to finish.

I feel like this is something we maybe want to improve on the backend?

During that time I was seeing a constant skeleton loader (I actually thought the app would be broken).

cc @chrispader

@sakluger
Copy link
Contributor

Hanno distributed the issues above to a few other people so we can work on them in parallel. Otherwise, no major updates. I'll be OOO for the next week so I will check back then.

@melvin-bot melvin-bot bot removed the Overdue label Aug 22, 2024
@muttmuure
Copy link
Contributor

How are these coming along @hannojg ?

@melvin-bot melvin-bot bot added the Overdue label Aug 30, 2024
@sakluger
Copy link
Contributor

Hey @hannojg, do you have any updates on any of the performance issues we're tracking here?

@sakluger
Copy link
Contributor

sakluger commented Oct 2, 2024

Looks like steady progress is being made in the PR review.

@melvin-bot melvin-bot bot added the Overdue label Oct 10, 2024
@sakluger
Copy link
Contributor

Looks like all reviews are complete on #48652, but it's failing one test. Hopefully this will be live very soon!

@melvin-bot melvin-bot bot removed the Overdue label Oct 11, 2024
@muttmuure muttmuure moved this from LOW to CRITICAL in [#whatsnext] #quality Oct 15, 2024
@muttmuure muttmuure moved this from CRITICAL to MEDIUM in [#whatsnext] #quality Oct 15, 2024
@melvin-bot melvin-bot bot added the Overdue label Oct 21, 2024
@sakluger
Copy link
Contributor

The PR was merged but seems to have caused a deploy blocker: #51123

@melvin-bot melvin-bot bot removed the Overdue label Oct 21, 2024
@muttmuure
Copy link
Contributor

This went to prod!

@hannojg
Copy link
Contributor Author

hannojg commented Oct 23, 2024

Hm, did it? I think the PR was reverted

@hannojg
Copy link
Contributor Author

hannojg commented Oct 23, 2024

I am currently working on re-applying + fixing issues

@muttmuure muttmuure moved this from MEDIUM to CRITICAL in [#whatsnext] #quality Oct 28, 2024
@melvin-bot melvin-bot bot added the Overdue label Oct 31, 2024
@sakluger
Copy link
Contributor

sakluger commented Nov 1, 2024

No updates, we're still working on getting this fixed.

@melvin-bot melvin-bot bot removed the Overdue label Nov 1, 2024
@muttmuure
Copy link
Contributor

How is this going @hannojg?

@muttmuure muttmuure moved this from CRITICAL to MEDIUM in [#whatsnext] #quality Nov 5, 2024
@hannojg
Copy link
Contributor Author

hannojg commented Nov 5, 2024

New PR will be ready in a moment:

@sakluger
Copy link
Contributor

Hey @hannojg, what's the latest? Looks like there is a bit more cleanup needed before we can merge the PR you linked above?

@hannojg
Copy link
Contributor Author

hannojg commented Nov 12, 2024

Yes exactly, would be awesome if we could work through that list here:

#51954 (comment)

After those are merged I can work on the next set of cleanup PRs. The final goal is to cleanup the existing code so that i can reuse a stable ordering logic for the new performance PR :)

@melvin-bot melvin-bot bot added the Overdue label Nov 20, 2024
@sakluger
Copy link
Contributor

Latest update here: #51954 (comment)

  • There is one cleanup PR left, then a few additional changes needed to fix an ordering bug.

@melvin-bot melvin-bot bot removed the Overdue label Nov 20, 2024
@melvin-bot melvin-bot bot added the Overdue label Nov 29, 2024
@sakluger
Copy link
Contributor

sakluger commented Dec 2, 2024

The final cleanup PR has been created (more info: #51954 (comment))

@melvin-bot melvin-bot bot removed the Overdue label Dec 2, 2024
@melvin-bot melvin-bot bot added the Overdue label Dec 11, 2024
@sakluger
Copy link
Contributor

As of yesterday, cleanups are complete. Now Hanno is working on fixing the Search suffix tree implementation PR. Latest update here: #51954 (comment)

@melvin-bot melvin-bot bot removed the Overdue label Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

4 participants