]> Cypherpunks repositories - gostls13.git/commit
cmd/trace/v2: tolerate traces with broken tails
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 18 Apr 2024 17:38:30 +0000 (17:38 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 19 Apr 2024 17:23:57 +0000 (17:23 +0000)
commitdcb5de5cac5baee703b1fe215f28f22aebc93437
tree386971c1777c9f1beefed27548d9cf75b01cd153
parent4324d5a88cf8ac1d6cf1cb57f5df82ddd6c6283e
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>
src/cmd/trace/v2/jsontrace_test.go
src/cmd/trace/v2/main.go