Skip to content

Investigating an issue with Sourcery

Sourcery investigates every issue to determine a likely cause.

Screenshot of the Sourcery issue inbox

Triggering an investigation

When you install Sourcery it will investigate the 50 most recent issues in your top project.

Click on the "Investigate" button on any other issue in to trigger a Sourcery investigation.

Alternatively you can install the Sourcery x Slack integration and any new Sentry alerts in Slack will be automatically investigated or you can enable the "Auto-Investigate" option in Sourcery and Sourcery will investigate every new Sentry issue.

Investigation States, Statuses, and Severities

Sourcery will assign an issue a Investigation Status, a Triage State, and a Severity.

The Investigation Status refers to the progress of Sourcery's investigation. Sourcery's investigation statuses include:

  • New: Sourcery has not yet investigated the issue
  • Investigating: Sourcery is actively investigating the issue
  • Fixing: Sourcery is actively implementing a fix for the issue.
  • Pull Request Closed: Sourcery has opened a PR that has been merged or closed.
  • Pull Request Open: There is a currently open PR from Sourcery for the issue.
  • Resolved: The issue has been solved and resolved in Sentry.
  • Triaged: Sourcery has completed its investigation and assigned the issue a triage status, but does not have a specific fix for the issue.
  • Solutions Proposed: Sourcery has proposed one or more solutions to fix the issue.

The Triage Status refers to how Sourcery interprets the issue and what it believes should be done with the issue. Triage statuses include:

  • Environment problem: An issue related to an environment set up for a user or a system.
  • Intended behavior: An error that has been logged, but is correctly being handled within an application
  • Ignorable: An issue that does not require any action or fix.
  • Needs Info: An issue where Sourcery requires additional information it does not currently have access to.
  • Needs Guidance: An issue where there are multiple potential paths to address, which require a product/business decision to be made.
  • Obfuscated: An issue where Sourcery cannot interpret the stack trace in order to complete an investigation.
  • Solvable: An issue with a potential solution.
  • Transient: A temporary issue that does not require a direct fix.

Issue Severity refers to the impact and importance of the issue and cause. Severity is bucketed into:

  • Low
  • Medium
  • High
  • Critical

You can filter your Issues Inbox on any Investigation Status, Triage Status, or Severity to narrow in on just those issues.

Stack Trace Walkthrough

For each issue, Sourcery will break down what happened immediately before and immediately after the issue and identify the critical point in the journey that caused the issue.

You can click into any step of the walkthrough to expand that step and see the relevant section of code.

Screenshot of Sourcery's stack trace walkthrough

Investigation Details

Each issue will get one or more hypotheses of the likely cause of the issue.

Screenshot of a Sourcery issue hypothesis

For each hypothesis, Sourcery provides an explanation of the hypothesis, a list of evidence that it has put together to support or refute the hypothesis, and an evalutation about whether or not that hypothesis is likely.

If Sourcery can identify the relevant commit that caused the issue it will highlight that commit in its hypothesis.

It then ranks the hypotheses it looked at from most to least likely.

If the issue is Solvable, then Sourcery will propose solutions for that most likely hypothesis.