mirror of
https://github.com/golang/go
synced 2024-11-19 16:04:48 -07:00
cmd/trace: include P info in goroutine slices
The task-oriented trace view presents the execution trace organized based on goroutines. Often, which P a goroutine was running on is useful, so this CL includes the P ids in the goroutine execution slices. R=go1.11 Change-Id: I96539bf8215e5c1cd8cc997a90204f57347c48c8 Reviewed-on: https://go-review.googlesource.com/90221 Reviewed-by: Heschi Kreinick <heschi@google.com>
This commit is contained in:
parent
f42418b25d
commit
3e1ac1b017
@ -726,8 +726,17 @@ func (ctx *traceContext) emitSlice(ev *trace.Event, name string) *ViewerEvent {
|
|||||||
Stack: ctx.stack(ev.Stk),
|
Stack: ctx.stack(ev.Stk),
|
||||||
EndStack: ctx.stack(ev.Link.Stk),
|
EndStack: ctx.stack(ev.Link.Stk),
|
||||||
}
|
}
|
||||||
|
|
||||||
// grey out non-overlapping events if the event is not a global event (ev.G == 0)
|
// grey out non-overlapping events if the event is not a global event (ev.G == 0)
|
||||||
if ctx.mode == taskTraceview && ev.G != 0 {
|
if ctx.mode == taskTraceview && ev.G != 0 {
|
||||||
|
// include P information.
|
||||||
|
if t := ev.Type; t == trace.EvGoStart || t == trace.EvGoStartLabel {
|
||||||
|
type Arg struct {
|
||||||
|
P int
|
||||||
|
}
|
||||||
|
sl.Arg = &Arg{P: ev.P}
|
||||||
|
}
|
||||||
|
// grey out non-overlapping events.
|
||||||
overlapping := false
|
overlapping := false
|
||||||
for _, task := range ctx.tasks {
|
for _, task := range ctx.tasks {
|
||||||
if _, overlapped := task.overlappingDuration(ev); overlapped {
|
if _, overlapped := task.overlappingDuration(ev); overlapped {
|
||||||
|
Loading…
Reference in New Issue
Block a user