Today I spent some time studying the early history of Go's execution tracer. Here is a very brief summary of what I learned.
The design and initial implementation was done by Dmitry Vyukov as outlined in his Go Execution Tracer (Oct 2014) design document. This was followed by the first upstream patch being merged the following January, an announcement at GopherCon in July (Fig 1), and the release in Go 1.5 in August 2015.
Since then a few new events have been added, along with other improvements, but overall the tracer seems to have retained most of its original design and functionality.