Sentry

From WaffleSlapper's Project Wiki
Revision as of 03:20, 7 February 2024 by Steeveeo (talk | contribs) (Initial Sentry docs.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sentry is a service that WaffleSlapper and Poetica Mechanica use to aid in debugging user issues. It provides a repository for any reported issues, crash reports, and user feedback in a sanitized manner, so issues can be reproduced, diagnosed, and corrected with minimal user effort.

You can find out more information by visiting Sentry's Website.

What Data Is Sent To Sentry?

When a crash occurs, or user feedback is sent, Sentry will collate a bunch of information to define the client state, the environment it is being run on, and information on what the application was doing before the crash. This includes data points like Client Build ID, the user's Operating System, and any Breadcrumbs captured during client operation before the crash.

Personally Identifiable Information (PII) is scrubbed from uploads by Sentry, and Poetica Mechanica's applications make a good faith effort to do the same to any secondary logs that are being uploaded.

The below is an example of a real issue reported by the VTI Companion App.

What are Breadcrumbs?

Breadcrumbs act as little checkpoints that are logged while the application is running. Much like Hansel and Gretel from which the feature gets its namesake, these allow developers to follow the application's "path" during execution and aid in figuring out how the application ended up in a bad state.

The below is an example of the breadcrumbs in the same issue in the previous section.

What is Active Telemetry?

In some applications, you may see a disclaimer and an option to allow or disable Sentry Telemetry. When an application has this, it means that it has the capability to "phone home" occasionally in order to report the "Health" status of the client. Sentry can also gauge how long certain actions have taken and potentially log when a common action has taken too long, known as "API Transactions". Both these can be indicators of a problem with either a service, or the latest client update, if a sudden uptick in unhealthy clients or really long transactions are spotted by Sentry.

If you are uncomfortable with the ability for the client to do this, or just wish to restrict bandwidth usage, any application utilizing Sentry Telemetry will come with the ability to disable the feature.

See below for an example of what Poetica Mechanica sees when Telemetry is reported.