Release manager dashboard: Sentry status
Overview
Recently we've come to rely more and more on the Sentry Releases page for gitlabcom
as one data point to indicate the overall health of an auto-deploy to Canary and Production.
A large number of "new issues" affecting a large number of users could indicate that a Canary deploy shouldn't go to Production, or that a Production deploy introduced a major regression that needs to be addressed.
A Release Manager dashboard should show the number of new Sentry issues for the last X
releases.
Data gathering
The current plan is to run a scheduled CI job that gathers the Sentry status and pushes to the Prometheus pushgateway.
The data is fetched from the Sentry API.
Prometheus format
- One entry per
release
- Gauge, where the value is the number of "new issues" for that release
Example of one time series:
# HELP delivery_sentry_errors GitLab.com Sentry error summary
# TYPE delivery_sentry_errors gauge
delivery_sentry_errors{instance="",job="sentry-errors",release="36418d8827c",user_count="7"} 10
delivery_sentry_errors{instance="",job="sentry-errors",release="44c5aa89c25",user_count="1"} 1
delivery_sentry_errors{instance="",job="sentry-errors",release="6b3b9c67e3f",user_count="3"} 3
delivery_sentry_errors{instance="",job="sentry-errors",release="89436ee2113",user_count="0"} 0
delivery_sentry_errors{instance="",job="sentry-errors",release="ea25e850db2",user_count="0"} 0
Grafana/GitLab Dashboard format
Problems
Sorting is inconsistent. We always want the "latest" release to be in the same position, either at the left- or right-most side of the chart, and for subsequent deploys to be in order relative to that.- We currently don't have a way to display the number of users affected.
Nice-to-haves
N/A
Edited by Robert Speicher