aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/trace/v2/jsontrace_test.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2024-04-18 17:38:30 +0000
committerGopher Robot <gobot@golang.org>2024-04-19 17:23:57 +0000
commitdcb5de5cac5baee703b1fe215f28f22aebc93437 (patch)
tree386971c1777c9f1beefed27548d9cf75b01cd153 /src/cmd/trace/v2/jsontrace_test.go
parent4324d5a88cf8ac1d6cf1cb57f5df82ddd6c6283e (diff)
downloadgo-dcb5de5cac5baee703b1fe215f28f22aebc93437.tar.gz
go-dcb5de5cac5baee703b1fe215f28f22aebc93437.zip
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>
Diffstat (limited to 'src/cmd/trace/v2/jsontrace_test.go')
-rw-r--r--src/cmd/trace/v2/jsontrace_test.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/trace/v2/jsontrace_test.go b/src/cmd/trace/v2/jsontrace_test.go
index 65ce041c4fa..e1a53669b72 100644
--- a/src/cmd/trace/v2/jsontrace_test.go
+++ b/src/cmd/trace/v2/jsontrace_test.go
@@ -283,7 +283,7 @@ func getTestTrace(t *testing.T, testPath string) *parsedTrace {
}
// Parse the test trace.
- parsed, err := parseTrace(&trace)
+ parsed, err := parseTrace(&trace, int64(trace.Len()))
if err != nil {
t.Fatalf("failed to parse trace: %v", err)
}