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

[Sentry] Investigate what sentry reporting we can add for critical areas of the app #1448

Open
setch-l opened this issue Aug 30, 2024 · 3 comments
Assignees

Comments

@setch-l
Copy link

setch-l commented Aug 30, 2024

We have identified the following critical areas of the app:

  • Content loading
  • Profile information and content loading
  • Smooth scrolling
    • Sentry doesn't have any direct support for tracking scroll performance. They do offer some integration with MetricKit which is the way Apple collects performance data, but it has some bugs and we should be able to get the same data on this from Apple after we launch.
  • Tagr Bot tags individual posts not accounts
  • Human tagged posts and accounts works correctly
    • This seems best accomplished through manual testing. The only way to automatically test this would be to set up an end-to-end UI test and we'd need to build out a lot of scaffolding to make that work. Happy to discuss further.
  • Lists are not wiped including follows, relays, mute
    • We have an alert set up in the followers server if Nos deletes a follow or relay list. Here is a ticket for the followers server to start tracking mute list. This may be more complex than it seems because the follows server currently only deals with follow lists.
  • People can log in and content and info loads in a reasonable amount of time
  • New accounts see activity in the app it doesn't look dead or empty
    • [Sentry] Track time to content on home feed #1650
      Note these last 2 encompass content loading, profile loading & lists. Are there other things beyond those we need to be away of in these scenrios?
    • I don't see any other critical app performance/correctness risks around the first login. We'll obviously want to pay close attention to the analytics for these sessions to see when/if people are dropping out of the funnel.

We need to ID sentry tracking for each of these critical areas of the app experience so we can easily identify when something has gone wrong.

Acceptance Criteria

  • List in the ticket recommendations for sentry tracking for each of the 6 critical areas of the app and any bonus things we should track for logging in or creating a new account.
  • Create individual tickets for each tracking task and label it [Sentry] in the title.
@mplorentz
Copy link
Member

I was able to spend a little bit of time on this on Friday and Monday. After reading through the docs and looking at the automatic transactions Sentry is capturing I think it's best to turn off automatic transaction recording docs. Sentry only records transactions for UIKit view controllers, which we don't use much, and it appears that a lot of the data it collects is misleading. For instance it starts a transaction when the user taps the Home tab but it doesn't complete it when the home feed displays data.

We should set up custom instrumention as described above.

We should add comprehensive breadcrumb tracking to help us understand and reproduce performance issues.

Now that I understand more about how Sentry uses transactions, spans, and profiling I can start going through each of the cases above and see which can be measured by Sentry's tools.

@mplorentz
Copy link
Member

mplorentz commented Oct 15, 2024

@mplorentz
Copy link
Member

@setch-l I've filled out the ticket description with my proposal for tracking all of these, and moved the ticket to UAT for your review. Let me know if you have any concerns. Happy to talk about any of these in more detail either here or in a meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: QA
Development

No branches or pull requests

2 participants