const (
EvNone event.Type = iota // unused
// Structural events.
EvEventBatch // start of per-M batch of events [generation, M ID, timestamp, batch length]
EvStacks // start of a section of the stack table [...EvStack]
EvStack // stack table entry [ID, ...{PC, func string ID, file string ID, line #}]
EvStrings // start of a section of the string dictionary [...EvString]
EvString // string dictionary entry [ID, length, string]
EvCPUSamples // start of a section of CPU samples [...EvCPUSample]
EvCPUSample // CPU profiling sample [timestamp, M ID, P ID, goroutine ID, stack ID]
EvFrequency // timestamp units per sec [freq]
// Procs.
EvProcsChange // current value of GOMAXPROCS [timestamp, GOMAXPROCS, stack ID]
EvProcStart // start of P [timestamp, P ID, P seq]
EvProcStop // stop of P [timestamp]
EvProcSteal // P was stolen [timestamp, P ID, P seq, M ID]
EvProcStatus // P status at the start of a generation [timestamp, P ID, status]
// Goroutines.
EvGoCreate // goroutine creation [timestamp, new goroutine ID, new stack ID, stack ID]
EvGoCreateSyscall // goroutine appears in syscall (cgo callback) [timestamp, new goroutine ID]
EvGoStart // goroutine starts running [timestamp, goroutine ID, goroutine seq]
EvGoDestroy // goroutine ends [timestamp]
EvGoDestroySyscall // goroutine ends in syscall (cgo callback) [timestamp]
EvGoStop // goroutine yields its time, but is runnable [timestamp, reason, stack ID]
EvGoBlock // goroutine blocks [timestamp, reason, stack ID]
EvGoUnblock // goroutine is unblocked [timestamp, goroutine ID, goroutine seq, stack ID]
EvGoSyscallBegin // syscall enter [timestamp, P seq, stack ID]
EvGoSyscallEnd // syscall exit [timestamp]
EvGoSyscallEndBlocked // syscall exit and it blocked at some point [timestamp]
EvGoStatus // goroutine status at the start of a generation [timestamp, goroutine ID, status]
// STW.
EvSTWBegin // STW start [timestamp, kind]
EvSTWEnd // STW done [timestamp]
// GC events.
EvGCActive // GC active [timestamp, seq]
EvGCBegin // GC start [timestamp, seq, stack ID]
EvGCEnd // GC done [timestamp, seq]
EvGCSweepActive // GC sweep active [timestamp, P ID]
EvGCSweepBegin // GC sweep start [timestamp, stack ID]
EvGCSweepEnd // GC sweep done [timestamp, swept bytes, reclaimed bytes]
EvGCMarkAssistActive // GC mark assist active [timestamp, goroutine ID]
EvGCMarkAssistBegin // GC mark assist start [timestamp, stack ID]
EvGCMarkAssistEnd // GC mark assist done [timestamp]
EvHeapAlloc // gcController.heapLive change [timestamp, heap alloc in bytes]
EvHeapGoal // gcController.heapGoal() change [timestamp, heap goal in bytes]
// Annotations.
EvGoLabel // apply string label to current running goroutine [timestamp, label string ID]
EvUserTaskBegin // trace.NewTask [timestamp, internal task ID, internal parent task ID, name string ID, stack ID]
EvUserTaskEnd // end of a task [timestamp, internal task ID, stack ID]
EvUserRegionBegin // trace.{Start,With}Region [timestamp, internal task ID, name string ID, stack ID]
EvUserRegionEnd // trace.{End,With}Region [timestamp, internal task ID, name string ID, stack ID]
EvUserLog // trace.Log [timestamp, internal task ID, key string ID, stack, value string ID]
)
const (
// Various format-specific constants.
MaxBatchSize = 64 << 10
MaxFramesPerStack = 128
MaxStringSize = 1 << 10
)
func EventString(typ event.Type) string
EventString returns the name of a Go 1.22 event.
func Specs() []event.Spec
type GoStatus uint8
const (
GoBad GoStatus = iota
GoRunnable
GoRunning
GoSyscall
GoWaiting
)
func (s GoStatus) String() string
type ProcStatus uint8
const (
ProcBad ProcStatus = iota
ProcRunning
ProcIdle
ProcSyscall
ProcSyscallAbandoned
)
func (s ProcStatus) String() string