diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-03-10 20:38:32 +0300 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-03-11 12:52:41 +0000 |
| commit | 9d332a8324dbbfaafceffaf9ad765c6d8d083450 (patch) | |
| tree | 07f37d908684244eb59fd68f10dbe6be605b4288 /src/cmd/trace | |
| parent | b2843becab6f4571be1c117da870393198edf01f (diff) | |
| download | go-9d332a8324dbbfaafceffaf9ad765c6d8d083450.tar.xz | |
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 <khr@golang.org>
Diffstat (limited to 'src/cmd/trace')
| -rw-r--r-- | src/cmd/trace/trace.go | 9 |
1 files changed, 8 insertions, 1 deletions
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) { |
