package stacktrace
import "go.uber.org/zap/internal/stacktrace"
Package stacktrace provides support for gathering stack traces efficiently.
Index ¶
- func Take(skip int) string
- type Depth
- type Formatter
- func NewFormatter(b *buffer.Buffer) Formatter
- func (sf *Formatter) FormatFrame(frame runtime.Frame)
- func (sf *Formatter) FormatStack(stack *Stack)
- type Stack
Functions ¶
func Take ¶
Take returns a string representation of the current stacktrace.
skip is the number of frames to skip before recording the stack trace. skip=0 identifies the caller of Take.
Types ¶
type Depth ¶
type Depth int
Depth specifies how deep of a stack trace should be captured.
const ( // First captures only the first frame. First Depth = iota // Full captures the entire call stack, allocating more // storage for it if needed. Full )
type Formatter ¶
type Formatter struct {
// contains filtered or unexported fields
}
Formatter formats a stack trace into a readable string representation.
func NewFormatter ¶
NewFormatter builds a new Formatter.
func (*Formatter) FormatFrame ¶
FormatFrame formats the given frame.
func (*Formatter) FormatStack ¶
FormatStack formats all remaining frames in the provided stacktrace -- minus the final runtime.main/runtime.goexit frame.
type Stack ¶
type Stack struct {
// contains filtered or unexported fields
}
Stack is a captured stack trace.
func Capture ¶
Capture captures a stack trace of the specified depth, skipping the provided number of frames. skip=0 identifies the caller of Capture.
The caller must call Free on the returned stacktrace after using it.
func (*Stack) Count ¶
Count reports the total number of frames in this stacktrace. Count DOES NOT change as Next is called.
func (*Stack) Free ¶
func (st *Stack) Free()
Free releases resources associated with this stacktrace and returns it back to the pool.
func (*Stack) Next ¶
Next returns the next frame in the stack trace, and a boolean indicating whether there are more after it.
Source Files ¶
stack.go
- Version
- v1.27.0 (latest)
- Published
- Feb 20, 2024
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 5 hours ago –
Tools for package owners.