Sketch flow from web request to fully completed request, highlight what is monitored.
Related to checking out performance #1830 (closed)
- Starting with the production architecture diagram, sketch full flow from web request submitted to web request fulfilled, mapping it to our services / infra / code.
- Consider making it into a sequence diagram, using https://mscgen.js.org/
- Point out what is being measured / where things are measured, and what is not.
Path will look something like:
- user clicks button (e.g. new issue, merge request)
- (...)
- request routed to our servers
- HTTP queue timings is what HAproxy can't pass to an application server https://performance.gitlab.net/dashboard/db/rails-controllers?orgId=1&panelId=21&fullscreen
- Nginx queue (not measured?)
- In unicorn queue (not measured?)
- In rails metal (maybe measured?)
- In rails controller transaction timings
- sql requests
- views actions
- back out (enumerate steps)