From 9d332a8324dbbfaafceffaf9ad765c6d8d083450 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 10 Mar 2015 20:38:32 +0300 Subject: cmd/trace: dump thread id on proc start Augment ProcStart events with OS thread id. This helps in scheduler locality analysis. Change-Id: I93fea75d3072cf68de66110d0b59d07101badcb5 Reviewed-on: https://go-review.googlesource.com/7302 Reviewed-by: Keith Randall --- src/cmd/trace/trace.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/cmd') diff --git a/src/cmd/trace/trace.go b/src/cmd/trace/trace.go index 41a56b92bb..a572ed8f28 100644 --- a/src/cmd/trace/trace.go +++ b/src/cmd/trace/trace.go @@ -391,7 +391,14 @@ func (ctx *traceContext) emitThreadCounters(ev *trace.Event) { } func (ctx *traceContext) emitInstant(ev *trace.Event, name string) { - ctx.emit(&ViewerEvent{Name: name, Phase: "I", Scope: "t", Time: ctx.time(ev), Tid: ctx.proc(ev), Stack: ctx.stack(ev.Stk)}) + var arg interface{} + if ev.Type == trace.EvProcStart { + type Arg struct { + ThreadID uint64 + } + arg = &Arg{ev.Args[0]} + } + ctx.emit(&ViewerEvent{Name: name, Phase: "I", Scope: "t", Time: ctx.time(ev), Tid: ctx.proc(ev), Stack: ctx.stack(ev.Stk), Arg: arg}) } func (ctx *traceContext) emitArrow(ev *trace.Event, name string) { -- cgit v1.3-5-g9baa