X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/cmd/trace/v2
opt
/
golang
/
1.22.0
/
src
/
cmd
/
trace
/
v2
/
📁
..
📄
gen.go
(11.65 KB)
📄
goroutinegen.go
(4.71 KB)
📄
goroutines.go
(11.4 KB)
📄
gstate.go
(12.02 KB)
📄
jsontrace.go
(6.57 KB)
📄
jsontrace_test.go
(7.78 KB)
📄
main.go
(5.32 KB)
📄
pprof.go
(10.42 KB)
📄
procgen.go
(6.23 KB)
📄
regions.go
(14.3 KB)
📄
tasks.go
(11.85 KB)
📁
testdata
📄
threadgen.go
(5.74 KB)
📄
viewer.go
(1.4 KB)
Editing: viewer.go
// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package trace import ( "fmt" "internal/trace" "internal/trace/traceviewer" tracev2 "internal/trace/v2" "time" ) // viewerFrames returns the frames of the stack of ev. The given frame slice is // used to store the frames to reduce allocations. func viewerFrames(stk tracev2.Stack) []*trace.Frame { var frames []*trace.Frame stk.Frames(func(f tracev2.StackFrame) bool { frames = append(frames, &trace.Frame{ PC: f.PC, Fn: f.Func, File: f.File, Line: int(f.Line), }) return true }) return frames } func viewerGState(state tracev2.GoState, inMarkAssist bool) traceviewer.GState { switch state { case tracev2.GoUndetermined: return traceviewer.GDead case tracev2.GoNotExist: return traceviewer.GDead case tracev2.GoRunnable: return traceviewer.GRunnable case tracev2.GoRunning: return traceviewer.GRunning case tracev2.GoWaiting: if inMarkAssist { return traceviewer.GWaitingGC } return traceviewer.GWaiting case tracev2.GoSyscall: // N.B. A goroutine in a syscall is considered "executing" (state.Executing() == true). return traceviewer.GRunning default: panic(fmt.Sprintf("unknown GoState: %s", state.String())) } } func viewerTime(t time.Duration) float64 { return float64(t) / float64(time.Microsecond) }
Upload File
Create Folder