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

Add Sentry error reporting to the Tribler Client #5727

Closed
drew2a opened this issue Nov 12, 2020 · 6 comments · Fixed by #5735
Closed

Add Sentry error reporting to the Tribler Client #5727

drew2a opened this issue Nov 12, 2020 · 6 comments · Fixed by #5735
Assignees

Comments

@drew2a
Copy link
Contributor

drew2a commented Nov 12, 2020

This issue is linked to #5715

Updated version:

As a developer, I want to increase the quality of receiving debug information and decrease the count of supported entities (Reporter).

So let's add Sentry to Tribler Client as a "backup system" that will accomplish the same work as the current Reporter do. Keep all the UX unchanged.

Will release it in 7.6.0 and evaluate how it works.

Old version:

Now we use Sentry as a mirror for the actual reporter. This has greatly increased the convenience of working with error reports. But the way we use Sentry is unnatural for Sentry itself and leaves an intermediate entity (reporter) that is used as a proxy.

The idea is to send crash reports directly to Sentry.

Changes:
1. Add to the installer a checkbox "Automatically sends crash reports to the Tribler team?"
2. Add to the crash reporter dialog the same checkbox.
3. If the checkbox is set, then let's sentry to be initialized and be able to send crash reports.

Note. Before sending a crash report we should cut all sensitive information.

In the first month, we will use both the old reporter and Sentry. 
After the first month, we have to review how it works.
@devos50
Copy link
Contributor

devos50 commented Nov 13, 2020

If this option is enabled by the user during installation, do we still show the stack trace when a crash occurs? But automatically send the crash report without explicit action by the user?

@drew2a
Copy link
Contributor Author

drew2a commented Nov 13, 2020

I was thinking about not showing the stack trace when a crash occurs.

But maybe the approach is too radical for now ;)

Probably, it is better to leave all logic the same, but only to send additional reports to a different Sentry project.
And then review how it works.

@devos50
Copy link
Contributor

devos50 commented Nov 13, 2020

But maybe the approach is too radical for now ;)

It's not radical at all but I wonder if there is really much to win when we send these reports automatically :)

@drew2a
Copy link
Contributor Author

drew2a commented Nov 13, 2020

If I understand user behavior right, then we will get more error reports in case of "automatically sent is enabled".
Also, probably we can detect some crashes that do not come to GUI.

More reports == more bug fixed
(in the case, of course, if there are not too many of them)

@synctext
Copy link
Member

synctext commented Nov 13, 2020

Nice progress! For long-term future:

  • Sentry bug report upload from within Tribler
    • reproducing user bugs is key bottleneck for fixing them
    • hardest part is capturing bug in the wild
    • filter out issues we don't yet support (full hard-disk etc) (user is never to blame, Tribler should be robust to anything)
  • Custom bug builds
    • we make a pledge to hunt down every bug until its fixed
    • for an upcoming release we could focus on "custom bug hunting"
    • make easy build process for single-user builds
    • increase debugging info
    • we dont give up, if you dont give up!
  • precondition to more professional deployment monitoring: personal user help

Is this realistic @drew2a ?

@drew2a
Copy link
Contributor Author

drew2a commented Nov 13, 2020

@synctext sure :)

@drew2a drew2a changed the title [Draft] Add Sentry error reporting to the Tribler Client Add Sentry error reporting to the Tribler Client Nov 18, 2020
@drew2a drew2a mentioned this issue Nov 18, 2020
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

3 participants