Go pprof Concepts: Difference between revisions
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
The goroutines can be in one of the following states: | The goroutines can be in one of the following states: | ||
* <code>running</code> | * <code>running</code> | ||
* <code>chan receive, | * <code>chan receive</code>[<code>, x minutes</code>] | ||
* <code>syscall</code>[<code>, x minutes</code>] | |||
* <code>select</code>[<code>, x minutes</code>] | |||
* <code>IO wait</code>[<code>, x minutes</code>] | |||
* <code>sync.Cond.Wait</code>[<code>, x minutes</code>] | |||
* <code>semacquire</code>[<code>, x minutes</code>] |
Revision as of 03:53, 16 November 2024
External
Internal
Overview
Profile
A profile is a collection of stack traces showing the call sequences that led to instances of a particular event, such as allocation. Packages can create and maintain their own profiles. The most common use is for tracking resources that must be explicitly closed, such as files or network connections.
Each profile has a unique name.
There are a few predefined profiles:
goroutine
The profile contains the stack traces of all current goroutines. This is how you can pull it from the process with curl
.
The goroutines can be in one of the following states:
running
chan receive
[, x minutes
]syscall
[, x minutes
]select
[, x minutes
]IO wait
[, x minutes
]sync.Cond.Wait
[, x minutes
]semacquire
[, x minutes
]