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. #603

Merged
merged 18 commits into from
May 15, 2017
Merged

Sentry. #603

merged 18 commits into from
May 15, 2017

Conversation

tcard
Copy link
Contributor

@tcard tcard commented May 15, 2017

No description provided.

tcard added 18 commits May 5, 2017 17:22
To-do:

- [ ] Tests.
- [ ] Catch signals caused by the library (in progress).
- [ ] Send device info with report.
- [ ] Get stack trace line numbers to work in Sentry.
This way, crashes happening in them won't be reported, since their
stack trace won't contain any Ably method.
State transitions can occur both from WebSockets (which run on their
on their own threads) and from user's actions, so they are intrinsically concurrent and need to be explicitly synchronized.

The library is still not thread-safe, but it's a start and a big
part of achieving at least internal thread-safety.
@tcard tcard merged commit eb3a8f6 into master May 15, 2017
tcard added a commit that referenced this pull request May 15, 2017
* WIP: Report crashes to Sentry.

To-do:

- [ ] Tests.
- [ ] Catch signals caused by the library (in progress).
- [ ] Send device info with report.
- [ ] Get stack trace line numbers to work in Sentry.

* Sentry: send device info.

* ARTChannels doesn't really have a ARTRest.

* Crash reports with (almost) full device info.

* Fix ARTRest exception handler on constructor.

* ARTRest: don't recover from exceptions in exception-recovering code.

* Don't recover from expected exceptions.

* Install KSCrash once, on ARTRest's constructor.

* ARTSentry: only report crashes from Ably.

* Wrap every callback from the user to call asynchronously.

This way, crashes happening in them won't be reported, since their
stack trace won't contain any Ably method.

* Report to Sentry on unexpected message serial.

* Use KSCrashAblyFork.

* Serialize state transitions in a GCD queue.

State transitions can occur both from WebSockets (which run on their
on their own threads) and from user's actions, so they are intrinsically concurrent and need to be explicitly synchronized.

The library is still not thread-safe, but it's a start and a big
part of achieving at least internal thread-safety.

* Bring back breadcrumbs.

* Bump KSCrashAblyFork version.

* Prevent deadlock when dispatch_syncing twice to same queue.

* Gzip Sentry reports.

* Serialize ARTLog.
@mattheworiordan mattheworiordan deleted the sentry branch July 24, 2017 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant