[x] We need to extend the default configuration of profiles (see https://github.com/pyroscope-io/pyroscope/issues/768#issuecomment-1023419863). The new profile types should be disabled by default, therefore it is a pretty safe change. On the other hand, we learned a lot about cpu and heap and know what to expect; meanwhile, new profiles can bring new issues, so we need to be very careful.
[x] Frontend support: add proper annotations for the new profile types (like "Frame width represents CPU time per function" for cpu). AFAIK, it's hardcoded, which is not great, but I don't think we have to change it (at least right now).
[x] Documentation: it's time to update docs for pull mode and scrape configuration, add a section explaining how profiles are configured and how it can be used. In addition, it may make sense to add an article/blog post on how to analyse the profiling data: for example, mutex and block profiles can be empty – in some cases it can be confusing.
There is demand for mutex, block, and gouroute profiles:
TODO: