Diagram for Git traceability
Current state as of 2025-08-28
sequenceDiagram
autonumber
participant Runner
participant Git
participant Workhorse
participant Some Service
participant Gitaly
Runner->>Workhorse: First request (Job Request)
Workhorse->>Workhorse: generate X-Request-Id
Workhorse->>Some Service: Request <br/>X-Request-Id: newly generated value
Some Service->>Workhorse: Response
Workhorse->>Runner: Response with X-Request-Id used for request
Runner->Runner: Print out X-Request-Id to Runner log
Runner->Git: Start git operation: Configure Git extraHeader <br/> X-Gitaly-Correlation-Id set to job request's X-Request-Id
Git->>Workhorse: Git http request 1 with <br/> X-Gitaly-Correlation-Id set to First X-Request-Id value
Workhorse->>Gitaly: Git http request 1 <br/>X-Request-Id: newly generated value
Gitaly->>Workhorse: Response
Workhorse->>Git: Response
Git->>Workhorse: Git http request 2 with <br/> X-Gitaly-Correlation-Id set to First X-Request-Id value
Workhorse->>Gitaly: Git http request 2 <br/>X-Request-Id: newly generated value
Gitaly->>Workhorse: Response
Workhorse->>Git: Response
Git->>Runner: Complete Git Operation
Option 1
- Update Workhorse to log X-Gitaly-Correlation-Id to Kibana
- Given a problematic job that has a git problem, we can now
- Check Job log for X-Gitaly-Correlation-Id
- Search for this X-Gitaly-Correlation-Id in Workhorse kibana log
- Find out all the unique X-Request-Ids that were created by workhorse during this Git Operation
- Search Gitaly Kibana for those X-Request-Ids to see what happened.
Edited by Paul Phillips