Skip to content

Sentry ​

Sentry is our error monitoring platform. It captures crashes, API errors, and issues that happen in the app, giving us visibility into problems that users experience in the wild.

For the full guide with screenshots, see the Confluence documentation.

What Sentry Does ​

When something goes wrong in the app, Sentry automatically:

  • Captures the error with a full stack trace
  • Records what happened before (navigation, API calls, user actions)
  • Attaches context about the job, user, and app state
  • Groups similar errors so we can see patterns

This means when an engineer reports "the app crashed", we can actually see what happened rather than guessing.

When Sentry Captures Data ​

SituationWhat Happens
App crashFull error captured with context
API error (5xx)Captured with request/response details
API error (4xx)Logged as breadcrumb only, not captured
TimeoutLogged as breadcrumb with warning
NavigationAdded to breadcrumb trail

Authentication errors (401) are intentionally not captured as errors since they're expected during normal token refresh.

What Context Gets Attached ​

When an error occurs, Sentry includes:

  • User ID - Which engineer was affected
  • Job details - Job ID, type, and order reference if on a job screen
  • Navigation trail - What screens they visited before the error
  • Feature flags - Which experiments/features were enabled
  • App version - Both the native build and OTA update version

Environments ​

Sentry captures errors from staging and production builds. Development builds don't send data to Sentry.

EnvironmentErrors CapturedSession Replay
ProductionYes5% of errors
StagingYesNo
DevelopmentNoNo

Accessing Sentry ​

Sentry dashboard: sentry.io (requires team access)

Finding Issues for a Specific User ​

  1. Go to Issues in Sentry
  2. Search for user.id:123456 (replace with the engineer's user ID)
  3. Filter by date range if needed

Finding Issues for a Job ​

  1. Search for jobId:ABC123 or check the Job context in the issue detail
  2. The order reference (orderShortId) is also included for cross-referencing

Privacy and Data Handling ​

Sentry automatically redacts sensitive information:

  • Names, email addresses, phone numbers
  • Addresses and postcodes
  • Gas Safe registration numbers
  • Any field that could identify a customer

Session replays (when captured) mask all text input fields and sensitive UI areas.

When to Check Sentry ​

  • Bug reports - Look up the user and timeframe to find related errors
  • After releases - Monitor for new errors appearing in production
  • Investigating flaky behaviour - Breadcrumbs can reveal what led to an issue
  • API integration problems - See exactly what requests failed and why