This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned on this page are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
StatusAuthorsCoachDRIsOwning StageCreated
proposed @vyaklushin @andrewn @grzesiek @ofernandez2 @sean_carroll group source_code 2023-09-07

Repository egress

Users generate Repository egress events for every fetch operation in Git. It includes commands like git clone, git fetch and git pull, because all of them request data from Gitaly that needs to be delivered to the end user.

Two main clients of Gitaly traffic are GitLab Shell(for SSH traffic) and Workhorse (for HTTP traffic).

Both clients send git-upload-pack command to Gitaly and stream back the Git response that contains requested changes.

Current metrics

ServiceNumber of git-upload-pack events (per day)
Workhorse~80 million
GitLab Shell~85 million
Gitaly~165 million (combined traffic)

Kibana links to see current metrics for each service:

Total number of events:

  • 165 million per day
  • 7.5 million per hour
  • 120 thousand per minute

Logs structure

HTTP traffic

Captured in Workhorse logs.

FieldsDescription
written_bytesnumber of bytes transferred
urinamespace and project name
timestamptimestamp of Egress event

SSH traffic

Captured in GitLab Shell logs.

FieldsDescription
written_bytesnumber of bytes transferred
projectfull project name
root_namspaceroot namespace
timestamptimestamp of Egress event