package traceviewer
Import Path
	internal/trace/traceviewer (on go.dev)
Dependency Relation
	imports 20 packages, and imported by 0 packages
Package-Level Type Names (total 16)
	
		
			End time.Duration
			FromResource uint64
			FromStack int
			Name string
			Start time.Duration
			ToResource uint64
		
			func (*Emitter).Arrow(a ArrowEvent)
			func (*Emitter).TaskArrow(a ArrowEvent)
	
		
			Category string
			Scope string
			SliceEvent SliceEvent
			SliceEvent.Arg any
			SliceEvent.Dur time.Duration
			SliceEvent.EndStack int
			SliceEvent.Name string
			SliceEvent.Resource uint64
			SliceEvent.Stack int
			SliceEvent.Ts time.Duration
			
				// Take on the same color as the task with this ID.
		
			func (*Emitter).AsyncSlice(s AsyncSliceEvent)
	
		
			(*Emitter) Arrow(a ArrowEvent)
			(*Emitter) AsyncSlice(s AsyncSliceEvent)
			
				Err returns an error if the emitter is in an invalid state.
			(*Emitter) Event(ev *format.Event)
			(*Emitter) Flush()
			(*Emitter) Focus(id uint64)
			(*Emitter) Gomaxprocs(v uint64)
			(*Emitter) GoroutineTransition(ts time.Duration, from, to GState)
			(*Emitter) HeapAlloc(ts time.Duration, v uint64)
			(*Emitter) HeapGoal(ts time.Duration, v uint64)
			(*Emitter) IncThreadStateCount(ts time.Duration, state ThreadState, delta int64)
			(*Emitter) Instant(i InstantEvent)
			
				OptionalEvent emits ev if it's within the time range of the consumer, i.e.
				the selected trace split range.
			(*Emitter) Resource(id uint64, name string)
			(*Emitter) SetResourceFilter(filter func(uint64) bool)
			(*Emitter) SetResourceType(name string)
			(*Emitter) Slice(s SliceEvent)
			
				Stack emits the given frames and returns a unique id for the stack. No
				pointers to the given data are being retained beyond the call to Stack.
			(*Emitter) Task(id uint64, name string, sortIndex int)
			(*Emitter) TaskArrow(a ArrowEvent)
			(*Emitter) TaskSlice(s SliceEvent)
		
			*Emitter : net/http.Flusher
		
			func NewEmitter(c TraceConsumer, rangeStart, rangeEnd time.Duration) *Emitter
	
		
			func (*Emitter).GoroutineTransition(ts time.Duration, from, to GState)
		
			const GDead
			const GRunnable
			const GRunning
			const GWaiting
			const GWaitingGC
	
		
			Arg any
			Category string
			Name string
			Resource uint64
			Stack int
			Ts time.Duration
		
			func (*Emitter).Instant(i InstantEvent)
	
		
			const ModeGoroutineOriented
			const ModeTaskOriented
			const ModeThreadOriented
	
		
			func MMUHandlerFunc(ranges []Range, f MutatorUtilFunc) http.HandlerFunc
	
		
			func SVGProfileHandlerFunc(f ProfileFunc) http.HandlerFunc
	
		
			Count uint64
			Stack []trace.StackFrame
			Time time.Duration
		
			func BuildProfile(prof []ProfileRecord) *profile.Profile
	
		
			End int
			EndTime int64
			Name string
			Start int
			StartTime int64
		
			( Range) URL(viewType ViewType) string
		
			func MMUHandlerFunc(ranges []Range, f MutatorUtilFunc) http.HandlerFunc
	
		
			Arg any
			Dur time.Duration
			EndStack int
			Name string
			Resource uint64
			Stack int
			Ts time.Duration
		
			func (*Emitter).Slice(s SliceEvent)
			func (*Emitter).TaskSlice(s SliceEvent)
	
		
			func (*Emitter).IncThreadStateCount(ts time.Duration, state ThreadState, delta int64)
		
			const ThreadStateInSyscall
			const ThreadStateInSyscallRuntime
			const ThreadStateRunning
	
		TimeHistogram is an high-dynamic-range histogram for durations.
		
			Buckets []int
			Count int
			MaxBucket int
			MinBucket int
		
			
				Add adds a single sample to the histogram.
			
				BucketMin returns the minimum duration value for a provided bucket.
			
				ToHTML renders the histogram as HTML.
	
		
			ConsumeTimeUnit func(unit string)
			ConsumeViewerEvent func(v *format.Event, required bool)
			ConsumeViewerFrame func(key string, f format.Frame)
			Flush func()
		
			func SplittingTraceConsumer(max int) (*splitter, TraceConsumer)
			func ViewerDataTraceConsumer(w io.Writer, startIdx, endIdx int64) TraceConsumer
		
			func NewEmitter(c TraceConsumer, rangeStart, rangeEnd time.Duration) *Emitter
	
		
			Ranges []Range
			Type ViewType
		
			( View) URL(rangeIdx int) string
		
			func MainHandler(views []View) http.Handler
	
		
			func Range.URL(viewType ViewType) string
		
			const ViewProc
			const ViewThread
Package-Level Functions (total 10)
	 func BuildProfile(prof []ProfileRecord) *profile.Profile	 func MainHandler(views []View) http.Handler	 func MMUHandlerFunc(ranges []Range, f MutatorUtilFunc) http.HandlerFunc	
		NewEmitter returns a new Emitter that writes to c. The rangeStart and
		rangeEnd args are used for splitting large traces.
	 func SplittingTraceConsumer(max int) (*splitter, TraceConsumer)	 func StaticHandler() http.Handler	
		SVGProfileHandlerFunc serves pprof-like profile generated by prof as svg.
	 func TraceHandler() http.Handler	
		ViewerDataTraceConsumer returns a TraceConsumer that writes to w. The
		startIdx and endIdx are used for splitting large traces. They refer to
		indexes in the traceEvents output array, not the events in the trace input.
	
		WalkStackFrames calls fn for id and all of its parent frames from allFrames.
Package-Level Constants (total 20)
	const CommonStyle = "\n/* See https://github.com/golang/pkgsite/blob/master/static/shared...	
		Special P identifiers:
	const GCP = 1000004 // depicts GC state	const GWaitingGC GState = 4	const ModeGoroutineOriented Mode = 1	const ModeTaskOriented Mode = 2	const ModeThreadOriented Mode = 4 // Mutually exclusive with ModeGoroutineOriented.	const NetpollP = 1000002 // depicts network unblocks	const ProfileP = 1000005 // depicts recording of CPU profile samples	const SyscallP = 1000003 // depicts returns from syscalls	const ThreadStateInSyscall ThreadState = 0	const ThreadStateInSyscallRuntime ThreadState = 1	const ThreadStateRunning ThreadState = 2	const TimerP = 1000001 // depicts timer unblocks	const ViewThread ViewType = "thread"![]()  | 
The pages are generated with Golds v0.7.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |