Create PackObjectsHook RPC in Gitaly, without caching
- Create the hook so that we can gather data about what we will be caching.
- Roll out to gitlab-org/gitlab server.
Development:
-
Make git-upload-pack use the gitaly-hooks
executable when it wants to run pack-objects. No RPC calls or caching yet. gitlab-org/gitaly!3038 (merged) -
Add PackObjectsHook RPC and make gitaly-hooks
call it gitlab-org/gitaly!3084 (merged) -
Register feature flag for hook in gitlab-org/gitlab gitlab-org/gitlab!53132 (merged)
Outcomes:
- Observe CPU / memory overhead of having the hook
- Reliably observe number of requests (SSHUploadPack and PostUploadPack over-count)
- Log would-be cache keys for hook requests, so we can predict cache hit ratios
- Log bytes served so we can predict storage and IO needs