commit | dcb5de5cac5baee703b1fe215f28f22aebc93437 | [log] [tgz] |
---|---|---|
author | Michael Anthony Knyszek <mknyszek@google.com> | Thu Apr 18 17:38:30 2024 +0000 |
committer | Gopher Robot <gobot@golang.org> | Fri Apr 19 17:23:57 2024 +0000 |
tree | 386971c1777c9f1beefed27548d9cf75b01cd153 | |
parent | 4324d5a88cf8ac1d6cf1cb57f5df82ddd6c6283e [diff] |
cmd/trace/v2: tolerate traces with broken tails This change modifies cmd/trace/v2 to tolerate traces with incomplete/broken generations at the tail. These broken tails can be created if a program crashes while a trace is being produced. Although the runtime tries to flush the trace on some panics, it may still produce some extra trace data that is incomplete. This change modifies cmd/trace/v2 to still work on any complete generations, even if there are incomplete/broken generations at the tail end of the trace. Basically, the tool now just tracks when the last good generation ended (via Sync events) and truncates the trace to that point when it encounters an error. This change also revamps the text output of the tool to emit regular progress notifications as well as warnings as to how much of the trace data was lost. Fixes #65316. Change-Id: I877d39993bc02a81eebe647db9c2be17635bcec8 Reviewed-on: https://go-review.googlesource.com/c/go/+/580135 Reviewed-by: Carlos Amedee <carlos@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Michael Knyszek <mknyszek@google.com>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 4.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://go.dev/dl/.
After downloading a binary release, visit https://go.dev/doc/install for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.