From b94532d08d53d40b23ae3db366a29786270df594 Mon Sep 17 00:00:00 2001 From: Michael Anthony Knyszek Date: Thu, 30 Nov 2023 19:11:58 +0000 Subject: [PATCH] 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 LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Knyszek --- doc/go1.22.html | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/doc/go1.22.html b/doc/go1.22.html index 9ef372164eff0..157ff501a8085 100644 --- a/doc/go1.22.html +++ b/doc/go1.22.html @@ -60,6 +60,22 @@

Cgo

+

Trace

+ + +

+ The trace tool's web UI has been gently refreshed as part of the + work to support the new tracer, resolving several issues and improving the + readability of various sub-pages. + The web UI now supports exploring traces in a thread-oriented view. + The trace viewer also now displays the full duration of all system calls. +
+ These improvements only apply for viewing traces produced by programs built with + Go 1.22 or newer. + A future release will bring some of these improvements to traces produced by older + version of Go. +

+

Vet

@@ -546,6 +562,35 @@

Minor changes to the library

+
runtime/trace
+
+

+ The execution tracer has been completely overhauled in this release, resolving several long-standing + issues and paving the way for new use-cases for execution traces. +
+ Execution traces now use the operating system's clock on most platforms (Windows excluded) so + it is possible to correlate them with traces produced by lower-level components. + Execution traces no longer depend on the reliability of the platform's clock to produce a correct trace. + Execution traces are now partitioned regularly on-the-fly and as a result may be processed in a + streamable way. + Execution traces now contain complete durations for all system calls. + Execution traces now contain information about the operating system threads that goroutines executed on. + The latency impact of starting and stopping execution traces has been dramatically reduced. + Execution traces may now begin or end during the garbage collection mark phase. +
+ To allow Go developers to take advantage of these improvements, an experimental + trace reading package is available at golang.org/x/exp/trace. + Note that this package only works on traces produced by programs built with Go 1.22 at the moment. + Please try out the package and provide feedback on + the corresponding proposal issue. +
+ If you experience any issues with the new execution tracer implementation, you may switch back to the + old implementation by building your Go program with GOEXPERIMENT=noexectracer2. + If you do, please file an issue, otherwise this option will be removed in a future release. +

+
+
+
slices