-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Support pprof profiling feature #13502
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
Conversation
| } | ||
| } | ||
|
|
||
|
|
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.
Please remove empty lines.
| @@ -0,0 +1,107 @@ | |||
| # Go App Profiling | |||
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 file should be linked from doc menu.
|
|
||
| Go App Profiling uses the Pprof for sampling | ||
|
|
||
| Pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). |
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.
| Pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). | |
| pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). |
pprof is a project name. They don't use capital first letter, ref to https://github.com/google/pprof
| Pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). | ||
|
|
||
| It is delivered to the agent in the form of a task, allowing it to be enabled or disabled dynamically. | ||
| When service encounters performance issues (cpu usage, memory allocation, etc.), Pprof task can be created. |
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.
| When service encounters performance issues (cpu usage, memory allocation, etc.), Pprof task can be created. | |
| When service encounters performance issues (CPU usage, memory allocation, etc.), pprof task can be created. |
Please fix nits in your words.
docs/en/changes/changes.md
Outdated
| * Self Observability: add `metrics_aggregation_queue_used_percentage` and `metrics_persistent_collection_cached_size` metrics for the OAP server. | ||
| * Optimize metrics aggregate/persistent worker: separate `OAL` and `MAL` workers and consume pools. The dataflow signal drives the new MAL consumer, | ||
| the following table shows the pool size,driven mode and queue size for each worker. | ||
| * Support pprof profiling feature. |
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.
| * Support pprof profiling feature. | |
| * Support the go agent(0.7.0 release) bundled pprof profiling feature. |
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.
some nits.
| * pprof taskId | ||
| */ | ||
| private String taskId; | ||
| // Type of profiling (CPU/Heap/Block/Mutex/Goroutine/Threadcreate/Allocs) |
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 comment format is not consistent, please fix this.
docs/en/changes/changes.md
Outdated
| * Self Observability: add `metrics_aggregation_queue_used_percentage` and `metrics_persistent_collection_cached_size` metrics for the OAP server. | ||
| * Optimize metrics aggregate/persistent worker: separate `OAL` and `MAL` workers and consume pools. The dataflow signal drives the new MAL consumer, | ||
| the following table shows the pool size,driven mode and queue size for each worker. | ||
| * Support the go agent(0.7.0 release) bundled pprof profiling feature. |
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 injected the change logs into a wrong place move it to the last line of oap changes section.
|
|
||
| ### Go App Profiling | ||
|
|
||
| Go App Profiling uses the [Pprof](https://github.com/google/pprof) for sampling. |
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.
| Go App Profiling uses the [Pprof](https://github.com/google/pprof) for sampling. | |
| Go App Profiling uses the [pprof](https://github.com/google/pprof) for sampling. |
|
|
||
| Go App Profiling uses the pprof for sampling | ||
|
|
||
| pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). |
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.
| pprof is bound within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). | |
| pprof is bundled within the auto-instrument agent and corresponds to [In-Process Profiling](../../concepts-and-designs/profiling.md#in-process-profiling). |
typo?
This PR introduces a new pprof profiling analysis feature for Go services in SkyWalking.
It enables on-demand performance profiling of Go applications through SkyWalking’s UI, including CPU, Heap, Block, Mutex, Goroutine, ThreadCreate, and Allocs events.
CHANGESlog.