trace

package
v1.21.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2024 License: BSD-3-Clause Imports: 29 Imported by: 0

Documentation

Overview

Trace is a tool for viewing trace files.

Trace files can be generated with:

  • runtime/trace.Start
  • net/http/pprof package
  • go test -trace

Example usage: Generate a trace file with 'go test':

go test -trace trace.out pkg

View the trace in a web browser:

go tool trace trace.out

Generate a pprof-like profile from the trace:

go tool trace -pprof=TYPE trace.out > TYPE.pprof

Supported profile types are:

  • net: network blocking profile
  • sync: synchronization blocking profile
  • syscall: syscall blocking profile
  • sched: scheduler latency profile

Then, you can use the pprof tool to analyze the profile:

go tool pprof TYPE.pprof

Note that while the various profiles available when launching 'go tool trace' work on every browser, the trace viewer itself (the 'view trace' page) comes from the Chrome/Chromium project and is only actively tested on that browser.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NameArg

type NameArg struct {
	Name string `json:"name"`
}

type Range

type Range struct {
	Name      string
	Start     int
	End       int
	StartTime int64
	EndTime   int64
}

func (Range) URL

func (r Range) URL() string

type Record

type Record struct {
	// contains filtered or unexported fields
}

Record represents one entry in pprof-like profiles.

type RegionArg

type RegionArg struct {
	TaskID uint64 `json:"taskid,omitempty"`
}

type SortIndexArg

type SortIndexArg struct {
	Index int `json:"sort_index"`
}

type TaskArg

type TaskArg struct {
	ID     uint64 `json:"id"`
	StartG uint64 `json:"start_g,omitempty"`
	EndG   uint64 `json:"end_g,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL