Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.32k stars 2.76k forks source link

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

Open hannojg opened 1 month ago

hannojg commented 1 month ago

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com 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?

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

melvin-bot[bot] commented 1 month ago

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

hannojg commented 1 month ago

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

sakluger commented 1 month ago

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

hannojg commented 1 month ago

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!

sakluger commented 1 month ago

Looks like we are adding some timing performance logging: https://github.com/Expensify/App/pull/46807

sakluger commented 1 month ago

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

hannojg commented 1 month ago

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 commented 3 weeks ago

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.

muttmuure commented 2 weeks ago

How are these coming along @hannojg ?

sakluger commented 1 week ago

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

hannojg commented 1 week ago

We are working on a new PR here which improves the search speed by 2456x (344ms to 0.14ms):

As I will be OOO from 09.09-22.09, please assign @kirillzyusko meanwhile as he will take care of finishing the PR while I am away!

sakluger commented 6 days ago

Hey @kirillzyusko could you please leave a comment here so I can assign you to the issue? Thanks!

kirillzyusko commented 3 days ago

@sakluger yes, sure, feel free to assign me on this ticket 👋