Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
viewer.go42 linesDownload Raw Back to trace
1// Copyright 2023 The Go Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.4 5package main6 7import (8	"fmt"9	"internal/trace"10	"internal/trace/traceviewer"11	"slices"12)13 14// viewerFrames returns the frames of the stack of ev. The given frame slice is15// used to store the frames to reduce allocations.16func viewerFrames(stk trace.Stack) []trace.StackFrame {17	return slices.Collect(stk.Frames())18}19 20func viewerGState(state trace.GoState, inMarkAssist bool) traceviewer.GState {21	switch state {22	case trace.GoUndetermined:23		return traceviewer.GDead24	case trace.GoNotExist:25		return traceviewer.GDead26	case trace.GoRunnable:27		return traceviewer.GRunnable28	case trace.GoRunning:29		return traceviewer.GRunning30	case trace.GoWaiting:31		if inMarkAssist {32			return traceviewer.GWaitingGC33		}34		return traceviewer.GWaiting35	case trace.GoSyscall:36		// N.B. A goroutine in a syscall is considered "executing" (state.Executing() == true).37		return traceviewer.GRunning38	default:39		panic(fmt.Sprintf("unknown GoState: %s", state.String()))40	}41}42 
codekingpro/portable-devtools · Team Ai