]> Cypherpunks repositories - gostls13.git/commit
cmd/trace: init goroutine info entries with GoCreate event
authorHana Kim <hakim@google.com>
Tue, 12 Dec 2017 23:20:06 +0000 (18:20 -0500)
committerHyang-Ah Hana Kim <hyangah@gmail.com>
Wed, 20 Dec 2017 23:04:21 +0000 (23:04 +0000)
commita58286c289c227fe09cb71d57483d4fd8eeff0bd
tree9ee5b5459f90bedf4ae9290432279111d915c003
parent841d865a56dee8dc4c712eea8eacc3a3d5256c6e
cmd/trace: init goroutine info entries with GoCreate event

golang.org/cl/81315 attempted to distinguish system goroutines
by examining the function name in the goroutine stack. It assumes that
the information would be available when GoSysBlock or GoInSyscall
events are processed, but it turned out the stack information is
set too late (when the goroutine gets a chance to run).

This change initializes the goroutine information entry when
processing GoCreate event which should be one of the very first
events for the every goroutine in trace.

Fixes #22574

Change-Id: I1ed37087ce2e78ed27c9b419b7d942eb4140cc69
Reviewed-on: https://go-review.googlesource.com/83595
Reviewed-by: Austin Clements <austin@google.com>
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/trace/main.go
src/cmd/trace/trace.go
src/cmd/trace/trace_test.go
src/cmd/trace/trace_unix_test.go [new file with mode: 0644]
src/internal/trace/parser.go
src/internal/trace/parser_test.go
src/runtime/trace/trace_test.go