Skip to content

Instantly share code, notes, and snippets.

@chosa91
Last active March 12, 2021 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chosa91/c82838829b91ccb88d9af268d2a6e4e4 to your computer and use it in GitHub Desktop.
Save chosa91/c82838829b91ccb88d9af268d2a6e4e4 to your computer and use it in GitHub Desktop.
The week of practicing #fail-early & #fail-often

The week of practicing "#fail-early" & "#fail-often"

Main-plan: Fullstory iOS Integration

TL;DR

PRO plan not pro enough (doesn't include the mobile add-on)

But... the technical support is quick and helpful.

https://help.fullstory.com/hc/en-us/articles/360020829553-Why-is-recording-blocked-on-my-site-

Additional details: Note: You might see this reason code if you are attempting to deploy FullStory on a mobile app and have not yet upgraded to a plan that includes FullStory for Mobile Apps (available as an add-on for FullStory Business & Enterprise plans)

Plan-B: Remote Error Logging

TL;DR

There are good tools out in the wild, but I don't think we can afford it, also Sentry would be good once we moved to (a fresh & updated) Bridge instance


Remote Error Logging

Problem / Root cause:

  • We log non-fatal errors into Crashlytics
  • Error logging not automatic, the error points are distinguished from log.warning / log.error and we log them separately

Main goal:

  • POC Proper Remote error logging

Expected output

  • Let Crashlytics to collect crashes only
  • Move error logging into Sentry
  • Collect all the runtime warnings & errors

Observations

  • Our on-prem Sentry instance's version is 3yr old
  • The corrseponding SDK isn't working without tweaking (cannot build test targets)
  • Hard to untanle stacktrace (Firebase's way much more better)

...Out of curiosity I've registered free "develop" accounts for Sentry and Bugsnag

For Consideration

Instructure Sentry

⚓️ Project

PROs

  • SPM support
  • Fastlane step (dsym upload)

CONs

  • We have to use an old SDK since our on-prem instance isn't updated in a while (3 year)
  • Once we move, we have to change the dsn
  • Couldn't build test targets with outdated SDK
    • ⚠️ Have to fork and fix the issues if we want to use this
  • Hard to untangle stacktrace

Sentry FREE

⚓️ Project

PROs

  • SPM support
  • Fine issue tracking & filtering
  • Fastlane step (dsym upload)

CONs

  • The plan is small for us
    • 5K errors
    • 10K transactions
    • 1 GB attachments

Bugsnag FREE

⚓️ Project

PROs

  • SPM support
  • Nice UI, great filters, <3 bookmarks
  • OOM - out of memory auto-capture
  • Fastlane step (dsym upload)

CONs

  • 7 day data retention (payed 60 day)
  • Only error & exception logging (simple Strings have to be wrapped into Error objects - it is strange)

Crashlytics (in-use)

⚓️ Project

PROs

  • Already in-use (tooling is already set)
  • Totally FREE
  • Fastlane step (dsym upload)

CONs

  • Crashes & non-fatal errors are in the same list, hard to detect spikes
  • Can't use SPM yet (performance monitoring is not yet moved to the Package.swift)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment