Draft: feat: incorporate the .com split SLI work for custom registry SLIs
What
Follows this pattern from .com: !3380 (diffs)
Introduces custom SLIs for monitoring certain GitLab container registry routes. Specifically picked out routes that affect the registry ApDex when disabling the registry storage redirect.
This extracts all blobs/uploads/ and blobs/ operations into their own SLIs:
- blobs/uploads/ : Split up into a tighter one for reads (GET or HEAD) and DELETE requests, and a looser one for writes (PATCH or PUT).
- blobs/ : Split up into a looser one for reads (GET or HEAD), a tighter DELETE requests, and a standard one for the unused write methods (PATCH, POST or PUT).
The SLIs include the unused methods. This ensures we don't miss any methods when excluding a route from the main apdex.
It adds a way to make this easier to do in the future, ensuring we don't miss any method-route combinations. Any route that has a custom SLI is automatically excluded from the main server apdex.
Note
This is a temporary duplication of code to address the alert fatigue asap, when this is validated a refactor will be required to merge the two helpers together, and only maintain the custom route SLIs at the .com or GET level.
Why
Alert fatigue and https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/team/-/issues/2323