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
Service | Number 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.
Fields | Description |
---|---|
written_bytes | number of bytes transferred |
uri | namespace and project name |
timestamp | timestamp of Egress event |
SSH traffic
Captured in GitLab Shell logs.
Fields | Description |
---|---|
written_bytes | number of bytes transferred |
project | full project name |
root_namspace | root namespace |
timestamp | timestamp of Egress event |
Last modified August 23, 2024: Ensure frontmatter is consistent (
e47101dc
)