Skip to content

Commit 5890b02

Browse files
committed
internal/trace: move v2 tracer into trace directory
This change moves the v2 tracer into the trace directory. Updates #67367 Change-Id: I3657b4227002cb00fdf29c797434800ea796715e Reviewed-on: https://go-review.googlesource.com/c/go/+/584538 Reviewed-by: Michael Knyszek <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent 192d65e commit 5890b02

File tree

142 files changed

+553
-597
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+553
-597
lines changed

src/cmd/trace/gen.go

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"fmt"
99
"internal/trace"
1010
"internal/trace/traceviewer"
11-
tracev2 "internal/trace/v2"
1211
"strings"
1312
)
1413

@@ -18,21 +17,21 @@ import (
1817
type generator interface {
1918
// Global parts.
2019
Sync() // Notifies the generator of an EventSync event.
21-
StackSample(ctx *traceContext, ev *tracev2.Event)
22-
GlobalRange(ctx *traceContext, ev *tracev2.Event)
23-
GlobalMetric(ctx *traceContext, ev *tracev2.Event)
20+
StackSample(ctx *traceContext, ev *trace.Event)
21+
GlobalRange(ctx *traceContext, ev *trace.Event)
22+
GlobalMetric(ctx *traceContext, ev *trace.Event)
2423

2524
// Goroutine parts.
26-
GoroutineLabel(ctx *traceContext, ev *tracev2.Event)
27-
GoroutineRange(ctx *traceContext, ev *tracev2.Event)
28-
GoroutineTransition(ctx *traceContext, ev *tracev2.Event)
25+
GoroutineLabel(ctx *traceContext, ev *trace.Event)
26+
GoroutineRange(ctx *traceContext, ev *trace.Event)
27+
GoroutineTransition(ctx *traceContext, ev *trace.Event)
2928

3029
// Proc parts.
31-
ProcRange(ctx *traceContext, ev *tracev2.Event)
32-
ProcTransition(ctx *traceContext, ev *tracev2.Event)
30+
ProcRange(ctx *traceContext, ev *trace.Event)
31+
ProcTransition(ctx *traceContext, ev *trace.Event)
3332

3433
// User annotations.
35-
Log(ctx *traceContext, ev *tracev2.Event)
34+
Log(ctx *traceContext, ev *trace.Event)
3635

3736
// Finish indicates the end of the trace and finalizes generation.
3837
Finish(ctx *traceContext)
@@ -44,35 +43,35 @@ func runGenerator(ctx *traceContext, g generator, parsed *parsedTrace, opts *gen
4443
ev := &parsed.events[i]
4544

4645
switch ev.Kind() {
47-
case tracev2.EventSync:
46+
case trace.EventSync:
4847
g.Sync()
49-
case tracev2.EventStackSample:
48+
case trace.EventStackSample:
5049
g.StackSample(ctx, ev)
51-
case tracev2.EventRangeBegin, tracev2.EventRangeActive, tracev2.EventRangeEnd:
50+
case trace.EventRangeBegin, trace.EventRangeActive, trace.EventRangeEnd:
5251
r := ev.Range()
5352
switch r.Scope.Kind {
54-
case tracev2.ResourceGoroutine:
53+
case trace.ResourceGoroutine:
5554
g.GoroutineRange(ctx, ev)
56-
case tracev2.ResourceProc:
55+
case trace.ResourceProc:
5756
g.ProcRange(ctx, ev)
58-
case tracev2.ResourceNone:
57+
case trace.ResourceNone:
5958
g.GlobalRange(ctx, ev)
6059
}
61-
case tracev2.EventMetric:
60+
case trace.EventMetric:
6261
g.GlobalMetric(ctx, ev)
63-
case tracev2.EventLabel:
62+
case trace.EventLabel:
6463
l := ev.Label()
65-
if l.Resource.Kind == tracev2.ResourceGoroutine {
64+
if l.Resource.Kind == trace.ResourceGoroutine {
6665
g.GoroutineLabel(ctx, ev)
6766
}
68-
case tracev2.EventStateTransition:
67+
case trace.EventStateTransition:
6968
switch ev.StateTransition().Resource.Kind {
70-
case tracev2.ResourceProc:
69+
case trace.ResourceProc:
7170
g.ProcTransition(ctx, ev)
72-
case tracev2.ResourceGoroutine:
71+
case trace.ResourceGoroutine:
7372
g.GoroutineTransition(ctx, ev)
7473
}
75-
case tracev2.EventLog:
74+
case trace.EventLog:
7675
g.Log(ctx, ev)
7776
}
7877
}
@@ -93,8 +92,8 @@ func runGenerator(ctx *traceContext, g generator, parsed *parsedTrace, opts *gen
9392
// lowest first.
9493
func emitTask(ctx *traceContext, task *trace.UserTaskSummary, sortIndex int) {
9594
// Collect information about the task.
96-
var startStack, endStack tracev2.Stack
97-
var startG, endG tracev2.GoID
95+
var startStack, endStack trace.Stack
96+
var startG, endG trace.GoID
9897
startTime, endTime := ctx.startTime, ctx.endTime
9998
if task.Start != nil {
10099
startStack = task.Start.Stack()
@@ -128,7 +127,7 @@ func emitTask(ctx *traceContext, task *trace.UserTaskSummary, sortIndex int) {
128127
Arg: arg,
129128
})
130129
// Emit an arrow from the parent to the child.
131-
if task.Parent != nil && task.Start != nil && task.Start.Kind() == tracev2.EventTaskBegin {
130+
if task.Parent != nil && task.Start != nil && task.Start.Kind() == trace.EventTaskBegin {
132131
ctx.TaskArrow(traceviewer.ArrowEvent{
133132
Name: "newTask",
134133
Start: ctx.elapsed(task.Start.Time()),
@@ -151,8 +150,8 @@ func emitRegion(ctx *traceContext, region *trace.UserRegionSummary) {
151150
return
152151
}
153152
// Collect information about the region.
154-
var startStack, endStack tracev2.Stack
155-
goroutine := tracev2.NoGoroutine
153+
var startStack, endStack trace.Stack
154+
goroutine := trace.NoGoroutine
156155
startTime, endTime := ctx.startTime, ctx.endTime
157156
if region.Start != nil {
158157
startStack = region.Start.Stack()
@@ -164,7 +163,7 @@ func emitRegion(ctx *traceContext, region *trace.UserRegionSummary) {
164163
endTime = region.End.Time()
165164
goroutine = region.End.Goroutine()
166165
}
167-
if goroutine == tracev2.NoGoroutine {
166+
if goroutine == trace.NoGoroutine {
168167
return
169168
}
170169
arg := struct {
@@ -194,11 +193,11 @@ func emitRegion(ctx *traceContext, region *trace.UserRegionSummary) {
194193
// The provided resource is the resource the stack sample should count against.
195194
type stackSampleGenerator[R resource] struct {
196195
// getResource is a function to extract a resource ID from a stack sample event.
197-
getResource func(*tracev2.Event) R
196+
getResource func(*trace.Event) R
198197
}
199198

200199
// StackSample implements a stack sample event handler. It expects ev to be one such event.
201-
func (g *stackSampleGenerator[R]) StackSample(ctx *traceContext, ev *tracev2.Event) {
200+
func (g *stackSampleGenerator[R]) StackSample(ctx *traceContext, ev *trace.Event) {
202201
id := g.getResource(ev)
203202
if id == R(noResource) {
204203
// We have nowhere to put this in the UI.
@@ -213,7 +212,7 @@ func (g *stackSampleGenerator[R]) StackSample(ctx *traceContext, ev *tracev2.Eve
213212
}
214213

215214
// globalRangeGenerator implements a generic handler for EventRange* events that pertain
216-
// to tracev2.ResourceNone (the global scope).
215+
// to trace.ResourceNone (the global scope).
217216
type globalRangeGenerator struct {
218217
ranges map[string]activeRange
219218
seenSync bool
@@ -226,21 +225,21 @@ func (g *globalRangeGenerator) Sync() {
226225

227226
// GlobalRange implements a handler for EventRange* events whose Scope.Kind is ResourceNone.
228227
// It expects ev to be one such event.
229-
func (g *globalRangeGenerator) GlobalRange(ctx *traceContext, ev *tracev2.Event) {
228+
func (g *globalRangeGenerator) GlobalRange(ctx *traceContext, ev *trace.Event) {
230229
if g.ranges == nil {
231230
g.ranges = make(map[string]activeRange)
232231
}
233232
r := ev.Range()
234233
switch ev.Kind() {
235-
case tracev2.EventRangeBegin:
234+
case trace.EventRangeBegin:
236235
g.ranges[r.Name] = activeRange{ev.Time(), ev.Stack()}
237-
case tracev2.EventRangeActive:
236+
case trace.EventRangeActive:
238237
// If we've seen a Sync event, then Active events are always redundant.
239238
if !g.seenSync {
240239
// Otherwise, they extend back to the start of the trace.
241240
g.ranges[r.Name] = activeRange{ctx.startTime, ev.Stack()}
242241
}
243-
case tracev2.EventRangeEnd:
242+
case trace.EventRangeEnd:
244243
// Only emit GC events, because we have nowhere to
245244
// put other events.
246245
ar := g.ranges[r.Name]
@@ -279,7 +278,7 @@ type globalMetricGenerator struct {
279278
}
280279

281280
// GlobalMetric implements an event handler for EventMetric events. ev must be one such event.
282-
func (g *globalMetricGenerator) GlobalMetric(ctx *traceContext, ev *tracev2.Event) {
281+
func (g *globalMetricGenerator) GlobalMetric(ctx *traceContext, ev *trace.Event) {
283282
m := ev.Metric()
284283
switch m.Name {
285284
case "/memory/classes/heap/objects:bytes":
@@ -294,7 +293,7 @@ func (g *globalMetricGenerator) GlobalMetric(ctx *traceContext, ev *tracev2.Even
294293
// procRangeGenerator implements a generic handler for EventRange* events whose Scope.Kind is
295294
// ResourceProc.
296295
type procRangeGenerator struct {
297-
ranges map[tracev2.Range]activeRange
296+
ranges map[trace.Range]activeRange
298297
seenSync bool
299298
}
300299

@@ -305,21 +304,21 @@ func (g *procRangeGenerator) Sync() {
305304

306305
// ProcRange implements a handler for EventRange* events whose Scope.Kind is ResourceProc.
307306
// It expects ev to be one such event.
308-
func (g *procRangeGenerator) ProcRange(ctx *traceContext, ev *tracev2.Event) {
307+
func (g *procRangeGenerator) ProcRange(ctx *traceContext, ev *trace.Event) {
309308
if g.ranges == nil {
310-
g.ranges = make(map[tracev2.Range]activeRange)
309+
g.ranges = make(map[trace.Range]activeRange)
311310
}
312311
r := ev.Range()
313312
switch ev.Kind() {
314-
case tracev2.EventRangeBegin:
313+
case trace.EventRangeBegin:
315314
g.ranges[r] = activeRange{ev.Time(), ev.Stack()}
316-
case tracev2.EventRangeActive:
315+
case trace.EventRangeActive:
317316
// If we've seen a Sync event, then Active events are always redundant.
318317
if !g.seenSync {
319318
// Otherwise, they extend back to the start of the trace.
320319
g.ranges[r] = activeRange{ctx.startTime, ev.Stack()}
321320
}
322-
case tracev2.EventRangeEnd:
321+
case trace.EventRangeEnd:
323322
// Emit proc-based ranges.
324323
ar := g.ranges[r]
325324
ctx.Slice(traceviewer.SliceEvent{
@@ -349,27 +348,27 @@ func (g *procRangeGenerator) Finish(ctx *traceContext) {
349348

350349
// activeRange represents an active EventRange* range.
351350
type activeRange struct {
352-
time tracev2.Time
353-
stack tracev2.Stack
351+
time trace.Time
352+
stack trace.Stack
354353
}
355354

356355
// completedRange represents a completed EventRange* range.
357356
type completedRange struct {
358357
name string
359-
startTime tracev2.Time
360-
endTime tracev2.Time
361-
startStack tracev2.Stack
362-
endStack tracev2.Stack
358+
startTime trace.Time
359+
endTime trace.Time
360+
startStack trace.Stack
361+
endStack trace.Stack
363362
arg any
364363
}
365364

366365
type logEventGenerator[R resource] struct {
367366
// getResource is a function to extract a resource ID from a Log event.
368-
getResource func(*tracev2.Event) R
367+
getResource func(*trace.Event) R
369368
}
370369

371370
// Log implements a log event handler. It expects ev to be one such event.
372-
func (g *logEventGenerator[R]) Log(ctx *traceContext, ev *tracev2.Event) {
371+
func (g *logEventGenerator[R]) Log(ctx *traceContext, ev *trace.Event) {
373372
id := g.getResource(ev)
374373
if id == R(noResource) {
375374
// We have nowhere to put this in the UI.

0 commit comments

Comments
 (0)