This strategy is a work in progress, and everyone can contribute:
Error Tracking is the process of proactively identifying application errors and fixing them as quickly as possible. At GitLab, this functionality is based on an integration with Sentry which aggregates errors found by Sentry, surfaces them in the GitLab UI, and provides the tools to triage and respond to the critical ones. GitLab leverages Sentry's intelligence to provide pertinent information such as the user impact or commit that caused the bug. Throughout the triage process, Users have the option of creating GitLab issues on critical errors to track the work required to fix them, all without leaving GitLab. Our mission is to reduce time spent fixing errors by enabling triage, response, and resolution in a single tool: GitLab.
The primary persona for Error Tracking is the Software Developer. Tracking and triaging errors is a part of any release process and the individual most qualified to solve the error is the developer who wrote the code. Secondarily, we are building Error Tracking for DevOps Engineers who leverage it while investigating larger scale incidents or outages.
The following list of Jobs to be Done is an aggregation of the most common responsibilities we identified for Software Developers surrounding error management and response. These are the workflows we aim to streamline and improve. Please check out the research which validates these findings.
When our vision for Error Tracking is fully realized, Developers will know about errors before their customers report them - every time. Following a release or during daily triage activities, GitLab will it make simple to identify new errors and the customer impact. By intuitively surfacing errors on Merge Requests or Releases, we can ensure responsible individuals have an aggregated view of errors resulting from a deployment. GitLab's ownership of the development workflow makes it simple to remove additional interfaces from the tool chain which will decrease time spent and increase throughput:
Our plan is to provide a streamlined triage experience where developers can easily identify new, important errors directly within GitLab and quickly roll out a fix. To mature Error Tracking from minimal to viable, we will be focusing on:
For the immediate future, GitLab's Error Tracking offering will be based on an integration with Sentry. We will not build out a separate error monitoring agent.
We will know we are on the right trajectory for Error Tracking when we are able to observe the following:
At a 30,000 ft view, adding Error Tracking to GitLab drives the Single app for the DevOps lifecycle vision and works to speed up the broader DevOps workflow. We can eliminate an additional interface from the multitude of tools Developers are required to use each day to do their jobs. Furthermore, GitLab has the opportunity to surface errors early and often in the development process. By surfacing errors caused by a particular commit, merge request, or release, we can easily prevent our user's customers from experiencing the bug at all.
We are confident in our execution of this vision as Sentry already provides correlation between errors and commits by identifying suspect commits. In just a few milestones, we will be able to take advantage of this intelligence and extend it within the GitLab interface by correlating errors and merge requests and releases.