gotools/internal/stack/process.go

// Capture get the current stack traces from the runtime.
func Capture() Dump {}

// Summarize a dump for easier consumption.
// This collates goroutines with equivalent stacks.
func Summarize(dump Dump) Summary {}

// Process and input stream to an output stream, summarizing any stacks that
// are detected in place.
func Process(out io.Writer, in io.Reader) error {}

// Diff calculates the delta between two dumps.
func Diff(before, after Dump) Delta {}

// TODO: do we want to allow contraction of stacks before comparison?
func (s *Summary) addGoroutine(gr Goroutine) {}

// TODO: do we want other grouping strategies?
func (c *Call) merge(gr Goroutine) {}