Write a guide on detecting and resolving performance issue using our tooling
Problem
We currently provide a confusing set of tools for performance profiling, with overlapping functionality and no clear guidance on when these tools should be used and how to interpret the results.
In this issue, we want to provide an explanation of how (and when) to use individual tools.
Solution
I imagine this guide to be an algorithm to go by for a developer.
E.g. in a form of:
Symptom -> Verification of a symptom -> the first tool to start with -> Interpreting the results -> Making the decision: another iteration with the same/different tool OR opening an issue OR making a fix OR < other option >
Currently, our Performance
section lists the tools and doesn't cover workflows.
It may be done as a separate page describing triaging workflows, linked to https://docs.gitlab.com/ee/development/performance.html.
Notes
- Creating this guide should be an iterative process and we expect contributions from the whole team
- For the first iteration, the structure is more important than covering all the small things
- This will help us further shape our performance toolbelt
- It was extracted from: !80598 (comment 846090098)