Scale sidekiq HPA on queue size
## Summary
We frequently have problems with sidekiq where it doesn't scale horizontally because the HPA is only specified for CPU usage. This doesn't work for [memory bound workers](https://gitlab.com/gitlab-com/gl-infra/capacity-planning/-/issues/36#note_937983898).
We used [custom metrics](https://cloud.google.com/kubernetes-engine/docs/concepts/custom-and-external-metrics) in the past to scale on quue length for [pubsubbeat](https://gitlab.com/gitlab-com/gl-infra/k8s-workloads/gitlab-helmfiles/-/merge_requests/665). This helps scale the number of pods depending on the amount of work that needs to be done.
## Proposal
We should try and do the same thing for Sidekiq so that we horizontally scale-out not just on CPU but also on queue length.
Few things to consider:
1. We need to upstream this change to the [GitLab helmchart ](https://gitlab.com/gitlab-org/charts/gitlab) since that is where the HPA definition lives.
2. Figure out if we can get Prometheus metrics available for the HPA in GKE.
---
*Props to @mwasilewski-gitlab for suggesting this*
## Originating incidents
- https://gitlab.com/gitlab-com/gl-infra/production/-/issues/8173
issue