Skip to content

Commit b94532d

Browse files
committed
doc: add release notes for the new execution tracer
For #60773. For #62627. For #63960. For #61422. Change-Id: I3c933f7522f65cd36d11d38a268556d92c8053f9 Reviewed-on: https://go-review.googlesource.com/c/go/+/546026 Reviewed-by: Michael Pratt <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Michael Knyszek <[email protected]>
1 parent de5b418 commit b94532d

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

doc/go1.22.html

+45
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,22 @@ <h3 id="cgo">Cgo</h3>
6060
<!-- add #cgo noescape/nocallback annotations -->
6161
</p>
6262

63+
<h3 id="trace">Trace</h3>
64+
65+
<!-- https://go.dev/issue/63960 -->
66+
<p>
67+
The <code>trace</code> tool's web UI has been gently refreshed as part of the
68+
work to support the new tracer, resolving several issues and improving the
69+
readability of various sub-pages.
70+
The web UI now supports exploring traces in a thread-oriented view.
71+
The trace viewer also now displays the full duration of all system calls.
72+
<br />
73+
These improvements only apply for viewing traces produced by programs built with
74+
Go 1.22 or newer.
75+
A future release will bring some of these improvements to traces produced by older
76+
version of Go.
77+
</p>
78+
6379
<h3 id="vet">Vet</h3>
6480

6581
<p><!-- CL 539016 -->
@@ -546,6 +562,35 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
546562
</dd>
547563
</dl><!-- runtime/metrics -->
548564

565+
<dl id="runtime/trace"><dt><a href="/pkg/runtime/trace/">runtime/trace</a></dt>
566+
<dd>
567+
<p><!-- https://go.dev/issue/60773 -->
568+
The execution tracer has been completely overhauled in this release, resolving several long-standing
569+
issues and paving the way for new use-cases for execution traces.
570+
<br />
571+
Execution traces now use the operating system's clock on most platforms (Windows excluded) so
572+
it is possible to correlate them with traces produced by lower-level components.
573+
Execution traces no longer depend on the reliability of the platform's clock to produce a correct trace.
574+
Execution traces are now partitioned regularly on-the-fly and as a result may be processed in a
575+
streamable way.
576+
Execution traces now contain complete durations for all system calls.
577+
Execution traces now contain information about the operating system threads that goroutines executed on.
578+
The latency impact of starting and stopping execution traces has been dramatically reduced.
579+
Execution traces may now begin or end during the garbage collection mark phase.
580+
<br />
581+
To allow Go developers to take advantage of these improvements, an experimental
582+
trace reading package is available at <a href="/pkg/golang.org/x/exp/trace">golang.org/x/exp/trace</a>.
583+
Note that this package only works on traces produced by programs built with Go 1.22 at the moment.
584+
Please try out the package and provide feedback on
585+
<a href="https://github.com/golang/go/issues/62627">the corresponding proposal issue</a>.
586+
<br />
587+
If you experience any issues with the new execution tracer implementation, you may switch back to the
588+
old implementation by building your Go program with <code>GOEXPERIMENT=noexectracer2</code>.
589+
If you do, please file an issue, otherwise this option will be removed in a future release.
590+
</p>
591+
</dd>
592+
</dl><!-- runtime/trace -->
593+
549594
<dl id="slices"><dt><a href="/pkg/slices/">slices</a></dt>
550595
<dd>
551596
<p><!-- https://go.dev/issue/56353 --><!-- CL 504882 -->

0 commit comments

Comments
 (0)