]> Cypherpunks.ru repositories - gostls13.git/blob - src/internal/trace/v2/event/requirements.go
runtime: add execution tracer v2 behind GOEXPERIMENT=exectracer2
[gostls13.git] / src / internal / trace / v2 / event / requirements.go
1 // Copyright 2023 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package event
6
7 // SchedReqs is a set of constraints on what the scheduling
8 // context must look like.
9 type SchedReqs struct {
10         Thread    Constraint
11         Proc      Constraint
12         Goroutine Constraint
13 }
14
15 // Constraint represents a various presence requirements.
16 type Constraint uint8
17
18 const (
19         MustNotHave Constraint = iota
20         MayHave
21         MustHave
22 )
23
24 // UserGoReqs is a common requirement among events that are running
25 // or are close to running user code.
26 var UserGoReqs = SchedReqs{Thread: MustHave, Proc: MustHave, Goroutine: MustHave}