-
Notifications
You must be signed in to change notification settings - Fork 621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOC] Restructure Pyroscope documentation and share content #3798
base: main
Are you sure you want to change the base?
[DOC] Restructure Pyroscope documentation and share content #3798
Conversation
docs/sources/configure-server/storage/configure-disk-storage.md
Outdated
Show resolved
Hide resolved
|
||
<!-- vale Grafana.Spelling = NO --> | ||
|
||
[Brendan Gregg](https://www.brendangregg.com/flamegraphs.html), the creator of flame graphs, was inspired by the inability to view, read, and understand stack traces using the regular profilers to debug performance issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hah, this is so cool 😎
Horizontally, the flame graph represents 100% of the time that this application was running. | ||
The width of each node represents the amount of time spent in that function. | ||
The wider the node, the more time spent in that function. The narrower the node, the less time spent in that function. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is such a good, succinct description ❤️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The flame graph text was written by the team. Good stuff! :)
|
||
CPU profiling measures the amount of CPU time consumed by different parts of your application code. | ||
High CPU usage can indicate inefficient code, leading to poor performance and increased operational costs. | ||
It's used to identify and optimize CPU-intensive functions in your application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You do such a fantastic job of introducing concepts throughout all of these topics, Kim!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This is largely a team effort. The team has these gems tucked all over the place. so much good stuff. I just provide some structure to it. :)
Traditionally, profiling is used as a free-form debugging tool in languages like Go and Java. | ||
You are probably used to running a benchmark tool locally and getting a `pprof` file in Go or maybe connecting into a misbehaving prod instance and pulling a flame graph from a `JFR` file in Java. | ||
This is great for debugging but not so great for production. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How's this?
Traditionally, profiling is used as a free-form debugging tool in languages like Go and Java. | |
You are probably used to running a benchmark tool locally and getting a `pprof` file in Go or maybe connecting into a misbehaving prod instance and pulling a flame graph from a `JFR` file in Java. | |
This is great for debugging but not so great for production. | |
Traditionally, profiling is a free-form debugging tool in languages like Go and Java. | |
For example, you can run a benchmark tool locally and get a `pprof` file in Go or connect to a misbehaving prod instance and pull a flame graph from a `JFR` file in Java. | |
This method is good for debugging, but not robust enough for production. |
Restructure Pyroscope documentation to share content to other profiles-related content.
These changes will go live with the next Pyroscope release and should not be backported.
Notes for reviewer
Part of https://github.com/grafana/pyroscope-squad/issues/223 (reference the mind map linked in the issue for the file changes)
You can check out the PR using
gh pr checkout 3798
in your local tempo repo.Changes to check:
Blocks these PRs: