aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/trace
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-03-10 20:38:32 +0300
committerDmitry Vyukov <dvyukov@google.com>2015-03-11 12:52:41 +0000
commit9d332a8324dbbfaafceffaf9ad765c6d8d083450 (patch)
tree07f37d908684244eb59fd68f10dbe6be605b4288 /src/cmd/trace
parentb2843becab6f4571be1c117da870393198edf01f (diff)
downloadgo-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.go9
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) {