maint: Update release status metrics
What does this MR do and why?
We currently only emit the delivery_release_monthly_status
and delivery_release_patch_status
metrics during steps of the respective release, so the "Delivery: Release Information" Grafana dashboard currently has to have a pretty big time range to go back in time to look for the latest one that was emitted.
For example, we create the metric delivery_release_monthly_status
for the next monthly version when we finalize the previous monthly release version, and the next time the metric gets created is in 3-4 weeks, when we announce the guaranteed sha.
The problem is that once the metrics are created, the metric only lasts for a few days on grafana, and gets flushed when the deployment gets re-deployed. So we need a mechanism to keep recreating (refreshing) the metrics for it to appear on grafana.
This change refreshes/updates the metric so that the latest information for the current version will persist on grafana, alongside when other pressure
metrics get updated in our scheduled pipelines. (This problem also exists with those pressure
metrics, so we're piggyback-ing off of that)
I'll create a follow-up MR for reducing the time range, once we have confirmed that this works in persisting the metric on grafana.
Related: gitlab-com/gl-infra/delivery#20181 (comment 1889107698)
release/tools
: release_status_metric
Prior to merging
-
After this MR's been approved, we need to manually emit the metrics first if they weren't created recently, so that they would exist when the scheduled pipeline to re-create the metrics run. https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/14143955 https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/14143971
After merging
-
Create a follow-up MR to reduce the time range on the dashboard