aboutsummaryrefslogtreecommitdiff
path: root/src/internal
diff options
context:
space:
mode:
authorCarlos Amedee <carlos@golang.org>2024-05-09 10:45:01 -0400
committerCarlos Amedee <carlos@golang.org>2024-05-17 18:48:18 +0000
commit5890b023a549e7ba6b0c563cdf730a91c2de6fae (patch)
tree098ead9c43c885cd3176d6584cc4e54b51253081 /src/internal
parent192d65e46b38381653ccbe16cac49f7fa36aac93 (diff)
downloadgo-5890b023a549e7ba6b0c563cdf730a91c2de6fae.tar.gz
go-5890b023a549e7ba6b0c563cdf730a91c2de6fae.zip
internal/trace: move v2 tracer into trace directory
This change moves the v2 tracer into the trace directory. Updates #67367 Change-Id: I3657b4227002cb00fdf29c797434800ea796715e Reviewed-on: https://go-review.googlesource.com/c/go/+/584538 Reviewed-by: Michael Knyszek <mknyszek@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/trace/base.go (renamed from src/internal/trace/v2/base.go)6
-rw-r--r--src/internal/trace/batch.go (renamed from src/internal/trace/v2/batch.go)4
-rw-r--r--src/internal/trace/batchcursor.go (renamed from src/internal/trace/v2/batchcursor.go)4
-rw-r--r--src/internal/trace/batchcursor_test.go (renamed from src/internal/trace/v2/batchcursor_test.go)0
-rw-r--r--src/internal/trace/event.go (renamed from src/internal/trace/v2/event.go)6
-rw-r--r--src/internal/trace/event/event.go (renamed from src/internal/trace/v2/event/event.go)0
-rw-r--r--src/internal/trace/event/go122/event.go (renamed from src/internal/trace/v2/event/go122/event.go)2
-rw-r--r--src/internal/trace/event/requirements.go (renamed from src/internal/trace/v2/event/requirements.go)0
-rw-r--r--src/internal/trace/event_test.go (renamed from src/internal/trace/v2/event_test.go)0
-rw-r--r--src/internal/trace/export_test.go7
-rw-r--r--src/internal/trace/gc.go43
-rw-r--r--src/internal/trace/gc_test.go38
-rw-r--r--src/internal/trace/generation.go (renamed from src/internal/trace/v2/generation.go)4
-rw-r--r--src/internal/trace/internal/oldtrace/order.go (renamed from src/internal/trace/v2/internal/oldtrace/order.go)0
-rw-r--r--src/internal/trace/internal/oldtrace/parser.go (renamed from src/internal/trace/v2/internal/oldtrace/parser.go)4
-rw-r--r--src/internal/trace/internal/oldtrace/parser_test.go (renamed from src/internal/trace/v2/internal/oldtrace/parser_test.go)2
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/fmt_1_21_pprof_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/fmt_1_21_pprof_good)bin25772 -> 25772 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/http_1_19_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/http_1_19_good)bin28172 -> 28172 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/http_1_21_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/http_1_21_good)bin6744 -> 6744 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_1_11_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_1_11_good)bin370129 -> 370129 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_1_19_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_1_19_good)bin322338 -> 322338 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_1_21_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_1_21_good)bin353725 -> 353725 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_11_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_11_good)bin4882 -> 4882 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_19_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_19_good)bin7448 -> 7448 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_21_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_21_good)bin5002 -> 5002 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/user_task_region_1_11_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_11_good)bin2000 -> 2000 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/user_task_region_1_19_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_19_good)bin1922 -> 1922 bytes
-rw-r--r--src/internal/trace/internal/oldtrace/testdata/user_task_region_1_21_good (renamed from src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_21_good)bin2404 -> 2404 bytes
-rw-r--r--src/internal/trace/internal/testgen/go122/trace.go (renamed from src/internal/trace/v2/internal/testgen/go122/trace.go)10
-rw-r--r--src/internal/trace/mud_test.go13
-rw-r--r--src/internal/trace/oldtrace.go (renamed from src/internal/trace/v2/oldtrace.go)6
-rw-r--r--src/internal/trace/oldtrace_test.go (renamed from src/internal/trace/v2/oldtrace_test.go)4
-rw-r--r--src/internal/trace/order.go (renamed from src/internal/trace/v2/order.go)6
-rw-r--r--src/internal/trace/order_test.go (renamed from src/internal/trace/v2/order_test.go)0
-rw-r--r--src/internal/trace/raw/doc.go (renamed from src/internal/trace/v2/raw/doc.go)0
-rw-r--r--src/internal/trace/raw/event.go (renamed from src/internal/trace/v2/raw/event.go)4
-rw-r--r--src/internal/trace/raw/reader.go (renamed from src/internal/trace/v2/raw/reader.go)4
-rw-r--r--src/internal/trace/raw/textreader.go (renamed from src/internal/trace/v2/raw/textreader.go)4
-rw-r--r--src/internal/trace/raw/textwriter.go (renamed from src/internal/trace/v2/raw/textwriter.go)2
-rw-r--r--src/internal/trace/raw/writer.go (renamed from src/internal/trace/v2/raw/writer.go)4
-rw-r--r--src/internal/trace/reader.go (renamed from src/internal/trace/v2/reader.go)6
-rw-r--r--src/internal/trace/reader_test.go (renamed from src/internal/trace/v2/reader_test.go)8
-rw-r--r--src/internal/trace/resources.go (renamed from src/internal/trace/v2/resources.go)0
-rw-r--r--src/internal/trace/summary.go167
-rw-r--r--src/internal/trace/summary_test.go148
-rw-r--r--src/internal/trace/testdata/README.md (renamed from src/internal/trace/v2/testdata/README.md)0
-rw-r--r--src/internal/trace/testdata/cmd/cmd/gotraceeventstats/main.go (renamed from src/internal/trace/v2/testdata/cmd/gotraceeventstats/main.go)0
-rw-r--r--src/internal/trace/testdata/cmd/gotraceraw/main.go (renamed from src/internal/trace/v2/testdata/cmd/gotraceraw/main.go)0
-rw-r--r--src/internal/trace/testdata/cmd/gotracevalidate/main.go (renamed from src/internal/trace/v2/testdata/cmd/gotracevalidate/main.go)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/0cb1786dee0f090b (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/0cb1786dee0f090b)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/1e45307d5b2ec36d (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/1e45307d5b2ec36d)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/2b05796f9b2fc48d (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/2b05796f9b2fc48d)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/2b9be9aebe08d511)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/344331b314da0b08 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/344331b314da0b08)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/365d7b5b633b3f97)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/4055b17cae1a3443)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/4d9ddc909984e871)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/56f073e57903588c (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/56f073e57903588c)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/aeb749b6bc317b66)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/closing-unknown-region (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/closing-unknown-region)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7 (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/d478e18d2d6756b7)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bc (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/d91203cd397aa0bc)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/invalid-proc-state (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/invalid-proc-state)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/large-id (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/large-id)0
-rw-r--r--src/internal/trace/testdata/fuzz/FuzzReader/malformed-timestamp (renamed from src/internal/trace/v2/testdata/fuzz/FuzzReader/malformed-timestamp)0
-rw-r--r--src/internal/trace/testdata/generate.go (renamed from src/internal/trace/v2/testdata/generate.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-confuse-seq-across-generations.go (renamed from src/internal/trace/v2/testdata/generators/go122-confuse-seq-across-generations.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-create-syscall-reuse-thread-id.go (renamed from src/internal/trace/v2/testdata/generators/go122-create-syscall-reuse-thread-id.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-create-syscall-with-p.go (renamed from src/internal/trace/v2/testdata/generators/go122-create-syscall-with-p.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-fail-first-gen-first.go (renamed from src/internal/trace/v2/testdata/generators/go122-fail-first-gen-first.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-go-create-without-running-g.go (renamed from src/internal/trace/v2/testdata/generators/go122-go-create-without-running-g.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-ambiguous.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-ambiguous.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-self.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-self.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go (renamed from src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go)0
-rw-r--r--src/internal/trace/testdata/generators/go122-task-across-generations.go (renamed from src/internal/trace/v2/testdata/generators/go122-task-across-generations.go)0
-rw-r--r--src/internal/trace/testdata/mktests.go (renamed from src/internal/trace/v2/testdata/mktests.go)4
-rw-r--r--src/internal/trace/testdata/testprog/annotations-stress.go (renamed from src/internal/trace/v2/testdata/testprog/annotations-stress.go)0
-rw-r--r--src/internal/trace/testdata/testprog/annotations.go (renamed from src/internal/trace/v2/testdata/testprog/annotations.go)0
-rw-r--r--src/internal/trace/testdata/testprog/cgo-callback.go (renamed from src/internal/trace/v2/testdata/testprog/cgo-callback.go)0
-rw-r--r--src/internal/trace/testdata/testprog/cpu-profile.go (renamed from src/internal/trace/v2/testdata/testprog/cpu-profile.go)0
-rw-r--r--src/internal/trace/testdata/testprog/futile-wakeup.go (renamed from src/internal/trace/v2/testdata/testprog/futile-wakeup.go)0
-rw-r--r--src/internal/trace/testdata/testprog/gc-stress.go (renamed from src/internal/trace/v2/testdata/testprog/gc-stress.go)0
-rw-r--r--src/internal/trace/testdata/testprog/gomaxprocs.go (renamed from src/internal/trace/v2/testdata/testprog/gomaxprocs.go)0
-rw-r--r--src/internal/trace/testdata/testprog/iter-pull.go (renamed from src/internal/trace/v2/testdata/testprog/iter-pull.go)0
-rw-r--r--src/internal/trace/testdata/testprog/many-start-stop.go (renamed from src/internal/trace/v2/testdata/testprog/many-start-stop.go)0
-rw-r--r--src/internal/trace/testdata/testprog/stacks.go (renamed from src/internal/trace/v2/testdata/testprog/stacks.go)0
-rw-r--r--src/internal/trace/testdata/testprog/stress-start-stop.go (renamed from src/internal/trace/v2/testdata/testprog/stress-start-stop.go)0
-rw-r--r--src/internal/trace/testdata/testprog/stress.go (renamed from src/internal/trace/v2/testdata/testprog/stress.go)0
-rw-r--r--src/internal/trace/testdata/testprog/wait-on-pipe.go (renamed from src/internal/trace/v2/testdata/testprog/wait-on-pipe.go)0
-rw-r--r--src/internal/trace/testdata/tests/go122-annotations-stress.test (renamed from src/internal/trace/v2/testdata/tests/go122-annotations-stress.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-annotations.test (renamed from src/internal/trace/v2/testdata/tests/go122-annotations.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-confuse-seq-across-generations.test (renamed from src/internal/trace/v2/testdata/tests/go122-confuse-seq-across-generations.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-create-syscall-reuse-thread-id.test (renamed from src/internal/trace/v2/testdata/tests/go122-create-syscall-reuse-thread-id.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-create-syscall-with-p.test (renamed from src/internal/trace/v2/testdata/tests/go122-create-syscall-with-p.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-fail-first-gen-first.test (renamed from src/internal/trace/v2/testdata/tests/go122-fail-first-gen-first.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-gc-stress.test (renamed from src/internal/trace/v2/testdata/tests/go122-gc-stress.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-go-create-without-running-g.test (renamed from src/internal/trace/v2/testdata/tests/go122-go-create-without-running-g.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-ambiguous.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-self.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-self.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test (renamed from src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test)0
-rw-r--r--src/internal/trace/testdata/tests/go122-task-across-generations.test (renamed from src/internal/trace/v2/testdata/tests/go122-task-across-generations.test)0
-rw-r--r--src/internal/trace/testtrace/expectation.go (renamed from src/internal/trace/v2/testtrace/expectation.go)0
-rw-r--r--src/internal/trace/testtrace/format.go (renamed from src/internal/trace/v2/testtrace/format.go)2
-rw-r--r--src/internal/trace/testtrace/validation.go (renamed from src/internal/trace/v2/testtrace/validation.go)2
-rw-r--r--src/internal/trace/trace_test.go (renamed from src/internal/trace/v2/trace_test.go)4
-rwxr-xr-xsrc/internal/trace/v2/mkexp.bash50
-rw-r--r--src/internal/trace/value.go (renamed from src/internal/trace/v2/value.go)0
-rw-r--r--src/internal/trace/version/version.go (renamed from src/internal/trace/v2/version/version.go)4
125 files changed, 270 insertions, 302 deletions
diff --git a/src/internal/trace/v2/base.go b/src/internal/trace/base.go
index 31e3c70f66..4cbd3e64f1 100644
--- a/src/internal/trace/v2/base.go
+++ b/src/internal/trace/base.go
@@ -12,9 +12,9 @@ import (
"math"
"strings"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/event/go122"
+ "internal/trace/version"
)
// maxArgs is the maximum number of arguments for "plain" events,
diff --git a/src/internal/trace/v2/batch.go b/src/internal/trace/batch.go
index 57c230fe02..2b47c9b72c 100644
--- a/src/internal/trace/v2/batch.go
+++ b/src/internal/trace/batch.go
@@ -10,8 +10,8 @@ import (
"fmt"
"io"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
+ "internal/trace/event"
+ "internal/trace/event/go122"
)
// timestamp is an unprocessed timestamp.
diff --git a/src/internal/trace/v2/batchcursor.go b/src/internal/trace/batchcursor.go
index 8dc34fd22f..66d297ee33 100644
--- a/src/internal/trace/v2/batchcursor.go
+++ b/src/internal/trace/batchcursor.go
@@ -9,8 +9,8 @@ import (
"encoding/binary"
"fmt"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
+ "internal/trace/event"
+ "internal/trace/event/go122"
)
type batchCursor struct {
diff --git a/src/internal/trace/v2/batchcursor_test.go b/src/internal/trace/batchcursor_test.go
index 69731e5254..69731e5254 100644
--- a/src/internal/trace/v2/batchcursor_test.go
+++ b/src/internal/trace/batchcursor_test.go
diff --git a/src/internal/trace/v2/event.go b/src/internal/trace/event.go
index c58d3bcba2..e30e20ecbb 100644
--- a/src/internal/trace/v2/event.go
+++ b/src/internal/trace/event.go
@@ -10,9 +10,9 @@ import (
"strings"
"time"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/event/go122"
+ "internal/trace/version"
)
// EventKind indicates the kind of event this is.
diff --git a/src/internal/trace/v2/event/event.go b/src/internal/trace/event/event.go
index adcb8811d8..adcb8811d8 100644
--- a/src/internal/trace/v2/event/event.go
+++ b/src/internal/trace/event/event.go
diff --git a/src/internal/trace/v2/event/go122/event.go b/src/internal/trace/event/go122/event.go
index df25bfc318..f6075e3ed5 100644
--- a/src/internal/trace/v2/event/go122/event.go
+++ b/src/internal/trace/event/go122/event.go
@@ -6,7 +6,7 @@ package go122
import (
"fmt"
- "internal/trace/v2/event"
+ "internal/trace/event"
)
const (
diff --git a/src/internal/trace/v2/event/requirements.go b/src/internal/trace/event/requirements.go
index c5adf2e0c2..c5adf2e0c2 100644
--- a/src/internal/trace/v2/event/requirements.go
+++ b/src/internal/trace/event/requirements.go
diff --git a/src/internal/trace/v2/event_test.go b/src/internal/trace/event_test.go
index c81a45185d..c81a45185d 100644
--- a/src/internal/trace/v2/event_test.go
+++ b/src/internal/trace/event_test.go
diff --git a/src/internal/trace/export_test.go b/src/internal/trace/export_test.go
new file mode 100644
index 0000000000..4f494ee8cb
--- /dev/null
+++ b/src/internal/trace/export_test.go
@@ -0,0 +1,7 @@
+// Copyright 2024 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package trace
+
+var BandsPerSeries = bandsPerSeries
diff --git a/src/internal/trace/gc.go b/src/internal/trace/gc.go
index 60c45f46aa..bf271ed73b 100644
--- a/src/internal/trace/gc.go
+++ b/src/internal/trace/gc.go
@@ -6,7 +6,6 @@ package trace
import (
"container/heap"
- tracev2 "internal/trace/v2"
"math"
"sort"
"strings"
@@ -53,7 +52,7 @@ const (
//
// If the UtilPerProc flag is not given, this always returns a single
// utilization function. Otherwise, it returns one function per P.
-func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUtil {
+func MutatorUtilizationV2(events []Event, flags UtilFlags) [][]MutatorUtil {
// Set up a bunch of analysis state.
type perP struct {
// gc > 0 indicates that GC is active on this P.
@@ -72,34 +71,34 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
out := [][]MutatorUtil{}
stw := 0
ps := []perP{}
- inGC := make(map[tracev2.GoID]bool)
- states := make(map[tracev2.GoID]tracev2.GoState)
- bgMark := make(map[tracev2.GoID]bool)
+ inGC := make(map[GoID]bool)
+ states := make(map[GoID]GoState)
+ bgMark := make(map[GoID]bool)
procs := []procsCount{}
seenSync := false
// Helpers.
- handleSTW := func(r tracev2.Range) bool {
+ handleSTW := func(r Range) bool {
return flags&UtilSTW != 0 && isGCSTW(r)
}
- handleMarkAssist := func(r tracev2.Range) bool {
+ handleMarkAssist := func(r Range) bool {
return flags&UtilAssist != 0 && isGCMarkAssist(r)
}
- handleSweep := func(r tracev2.Range) bool {
+ handleSweep := func(r Range) bool {
return flags&UtilSweep != 0 && isGCSweep(r)
}
// Iterate through the trace, tracking mutator utilization.
- var lastEv *tracev2.Event
+ var lastEv *Event
for i := range events {
ev := &events[i]
lastEv = ev
// Process the event.
switch ev.Kind() {
- case tracev2.EventSync:
+ case EventSync:
seenSync = true
- case tracev2.EventMetric:
+ case EventMetric:
m := ev.Metric()
if m.Name != "/sched/gomaxprocs:threads" {
break
@@ -135,7 +134,7 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
}
switch ev.Kind() {
- case tracev2.EventRangeActive:
+ case EventRangeActive:
if seenSync {
// If we've seen a sync, then we can be sure we're not finding out about
// something late; we have complete information after that point, and these
@@ -187,7 +186,7 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
// After accounting for the portion we missed, this just acts like the
// beginning of a new range.
fallthrough
- case tracev2.EventRangeBegin:
+ case EventRangeBegin:
r := ev.Range()
if handleSTW(r) {
stw++
@@ -195,11 +194,11 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
ps[ev.Proc()].gc++
} else if handleMarkAssist(r) {
ps[ev.Proc()].gc++
- if g := r.Scope.Goroutine(); g != tracev2.NoGoroutine {
+ if g := r.Scope.Goroutine(); g != NoGoroutine {
inGC[g] = true
}
}
- case tracev2.EventRangeEnd:
+ case EventRangeEnd:
r := ev.Range()
if handleSTW(r) {
stw--
@@ -207,13 +206,13 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
ps[ev.Proc()].gc--
} else if handleMarkAssist(r) {
ps[ev.Proc()].gc--
- if g := r.Scope.Goroutine(); g != tracev2.NoGoroutine {
+ if g := r.Scope.Goroutine(); g != NoGoroutine {
delete(inGC, g)
}
}
- case tracev2.EventStateTransition:
+ case EventStateTransition:
st := ev.StateTransition()
- if st.Resource.Kind != tracev2.ResourceGoroutine {
+ if st.Resource.Kind != ResourceGoroutine {
break
}
old, new := st.Goroutine()
@@ -228,7 +227,7 @@ func MutatorUtilizationV2(events []tracev2.Event, flags UtilFlags) [][]MutatorUt
}
}
states[g] = new
- case tracev2.EventLabel:
+ case EventLabel:
l := ev.Label()
if flags&UtilBackground != 0 && strings.HasPrefix(l.Label, "GC ") && l.Label != "GC (idle)" {
// Background mark worker.
@@ -917,14 +916,14 @@ func (in *integrator) next(time int64) int64 {
return 1<<63 - 1
}
-func isGCSTW(r tracev2.Range) bool {
+func isGCSTW(r Range) bool {
return strings.HasPrefix(r.Name, "stop-the-world") && strings.Contains(r.Name, "GC")
}
-func isGCMarkAssist(r tracev2.Range) bool {
+func isGCMarkAssist(r Range) bool {
return r.Name == "GC mark assist"
}
-func isGCSweep(r tracev2.Range) bool {
+func isGCSweep(r Range) bool {
return r.Name == "GC incremental sweep"
}
diff --git a/src/internal/trace/gc_test.go b/src/internal/trace/gc_test.go
index a74d59d8b7..39f28cc0f6 100644
--- a/src/internal/trace/gc_test.go
+++ b/src/internal/trace/gc_test.go
@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package trace
+package trace_test
import (
- tracev2 "internal/trace/v2"
- "internal/trace/v2/testtrace"
+ "internal/trace"
+ "internal/trace/testtrace"
"io"
"math"
"testing"
@@ -32,7 +32,7 @@ func TestMMU(t *testing.T) {
// 0.5 * * * *
// 0.0 ***** *****
// 0 1 2 3 4 5
- util := [][]MutatorUtil{{
+ util := [][]trace.MutatorUtil{{
{0e9, 1},
{1e9, 0},
{2e9, 1},
@@ -40,7 +40,7 @@ func TestMMU(t *testing.T) {
{4e9, 1},
{5e9, 0},
}}
- mmuCurve := NewMMUCurve(util)
+ mmuCurve := trace.NewMMUCurve(util)
for _, test := range []struct {
window time.Duration
@@ -84,8 +84,8 @@ func TestMMUTrace(t *testing.T) {
// test input too big for all.bash
t.Skip("skipping in -short mode")
}
- check := func(t *testing.T, mu [][]MutatorUtil) {
- mmuCurve := NewMMUCurve(mu)
+ check := func(t *testing.T, mu [][]trace.MutatorUtil) {
+ mmuCurve := trace.NewMMUCurve(mu)
// Test the optimized implementation against the "obviously
// correct" implementation.
@@ -101,9 +101,9 @@ func TestMMUTrace(t *testing.T) {
// optimization. We don't have a simple testing implementation
// of MUDs (the simplest implementation is still quite
// complex), but this is still a pretty good test.
- defer func(old int) { bandsPerSeries = old }(bandsPerSeries)
- bandsPerSeries = 1
- mmuCurve2 := NewMMUCurve(mu)
+ defer func(old int) { trace.BandsPerSeries = old }(trace.BandsPerSeries)
+ trace.BandsPerSeries = 1
+ mmuCurve2 := trace.NewMMUCurve(mu)
quantiles := []float64{0, 1 - .999, 1 - .99}
for window := time.Microsecond; window < time.Second; window *= 10 {
mud1 := mmuCurve.MUD(window, quantiles)
@@ -117,13 +117,13 @@ func TestMMUTrace(t *testing.T) {
}
}
t.Run("V2", func(t *testing.T) {
- testPath := "v2/testdata/tests/go122-gc-stress.test"
+ testPath := "testdata/tests/go122-gc-stress.test"
r, _, err := testtrace.ParseFile(testPath)
if err != nil {
t.Fatalf("malformed test %s: bad trace file: %v", testPath, err)
}
- var events []tracev2.Event
- tr, err := tracev2.NewReader(r)
+ var events []trace.Event
+ tr, err := trace.NewReader(r)
if err != nil {
t.Fatalf("malformed test %s: bad trace file: %v", testPath, err)
}
@@ -138,11 +138,11 @@ func TestMMUTrace(t *testing.T) {
events = append(events, ev)
}
// Pass the trace through MutatorUtilizationV2 and check it.
- check(t, MutatorUtilizationV2(events, UtilSTW|UtilBackground|UtilAssist))
+ check(t, trace.MutatorUtilizationV2(events, trace.UtilSTW|trace.UtilBackground|trace.UtilAssist))
})
}
-func mmuSlow(util []MutatorUtil, window time.Duration) (mmu float64) {
+func mmuSlow(util []trace.MutatorUtil, window time.Duration) (mmu float64) {
if max := time.Duration(util[len(util)-1].Time - util[0].Time); window > max {
window = max
}
@@ -151,9 +151,9 @@ func mmuSlow(util []MutatorUtil, window time.Duration) (mmu float64) {
// muInWindow returns the mean mutator utilization between
// util[0].Time and end.
- muInWindow := func(util []MutatorUtil, end int64) float64 {
+ muInWindow := func(util []trace.MutatorUtil, end int64) float64 {
total := 0.0
- var prevU MutatorUtil
+ var prevU trace.MutatorUtil
for _, u := range util {
if u.Time > end {
total += prevU.Util * float64(end-prevU.Time)
@@ -177,7 +177,7 @@ func mmuSlow(util []MutatorUtil, window time.Duration) (mmu float64) {
update()
// Reverse the trace. Slightly subtle because each MutatorUtil
// is a *change*.
- rutil := make([]MutatorUtil, len(util))
+ rutil := make([]trace.MutatorUtil, len(util))
if util[len(util)-1].Util != 0 {
panic("irreversible trace")
}
@@ -186,7 +186,7 @@ func mmuSlow(util []MutatorUtil, window time.Duration) (mmu float64) {
if i != 0 {
util1 = util[i-1].Util
}
- rutil[len(rutil)-i-1] = MutatorUtil{Time: -u.Time, Util: util1}
+ rutil[len(rutil)-i-1] = trace.MutatorUtil{Time: -u.Time, Util: util1}
}
util = rutil
// Consider all right-aligned windows.
diff --git a/src/internal/trace/v2/generation.go b/src/internal/trace/generation.go
index 0fdbfc3b20..c67bfdba16 100644
--- a/src/internal/trace/v2/generation.go
+++ b/src/internal/trace/generation.go
@@ -14,8 +14,8 @@ import (
"slices"
"strings"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
+ "internal/trace/event"
+ "internal/trace/event/go122"
)
// generation contains all the trace data for a single
diff --git a/src/internal/trace/v2/internal/oldtrace/order.go b/src/internal/trace/internal/oldtrace/order.go
index 4cd3def211..4cd3def211 100644
--- a/src/internal/trace/v2/internal/oldtrace/order.go
+++ b/src/internal/trace/internal/oldtrace/order.go
diff --git a/src/internal/trace/v2/internal/oldtrace/parser.go b/src/internal/trace/internal/oldtrace/parser.go
index da1079b34b..3775c78f1a 100644
--- a/src/internal/trace/v2/internal/oldtrace/parser.go
+++ b/src/internal/trace/internal/oldtrace/parser.go
@@ -16,8 +16,8 @@ import (
"encoding/binary"
"errors"
"fmt"
- "internal/trace/v2/event"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/version"
"io"
"math"
"sort"
diff --git a/src/internal/trace/v2/internal/oldtrace/parser_test.go b/src/internal/trace/internal/oldtrace/parser_test.go
index bc26c36a44..6fe31e2e7e 100644
--- a/src/internal/trace/v2/internal/oldtrace/parser_test.go
+++ b/src/internal/trace/internal/oldtrace/parser_test.go
@@ -6,7 +6,7 @@ package oldtrace
import (
"bytes"
- "internal/trace/v2/version"
+ "internal/trace/version"
"os"
"path/filepath"
"strings"
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/fmt_1_21_pprof_good b/src/internal/trace/internal/oldtrace/testdata/fmt_1_21_pprof_good
index f3ea402fdb..f3ea402fdb 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/fmt_1_21_pprof_good
+++ b/src/internal/trace/internal/oldtrace/testdata/fmt_1_21_pprof_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/http_1_19_good b/src/internal/trace/internal/oldtrace/testdata/http_1_19_good
index c1d519e7d5..c1d519e7d5 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/http_1_19_good
+++ b/src/internal/trace/internal/oldtrace/testdata/http_1_19_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/http_1_21_good b/src/internal/trace/internal/oldtrace/testdata/http_1_21_good
index b3295f9e5d..b3295f9e5d 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/http_1_21_good
+++ b/src/internal/trace/internal/oldtrace/testdata/http_1_21_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_11_good b/src/internal/trace/internal/oldtrace/testdata/stress_1_11_good
index 6468d89290..6468d89290 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_11_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_1_11_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_19_good b/src/internal/trace/internal/oldtrace/testdata/stress_1_19_good
index 13f59268e6..13f59268e6 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_19_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_1_19_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_21_good b/src/internal/trace/internal/oldtrace/testdata/stress_1_21_good
index 1ade5e0eb6..1ade5e0eb6 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_1_21_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_1_21_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_11_good b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_11_good
index 457f01a6cd..457f01a6cd 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_11_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_11_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_19_good b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_19_good
index 92d92789c4..92d92789c4 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_19_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_19_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_21_good b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_21_good
index fff46a9a07..fff46a9a07 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/stress_start_stop_1_21_good
+++ b/src/internal/trace/internal/oldtrace/testdata/stress_start_stop_1_21_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_11_good b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_11_good
index f4edb67e65..f4edb67e65 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_11_good
+++ b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_11_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_19_good b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_19_good
index 1daa3b25a6..1daa3b25a6 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_19_good
+++ b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_19_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_21_good b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_21_good
index 5c01a6405d..5c01a6405d 100644
--- a/src/internal/trace/v2/internal/oldtrace/testdata/user_task_region_1_21_good
+++ b/src/internal/trace/internal/oldtrace/testdata/user_task_region_1_21_good
Binary files differ
diff --git a/src/internal/trace/v2/internal/testgen/go122/trace.go b/src/internal/trace/internal/testgen/go122/trace.go
index 42bb403482..5fd995ae9a 100644
--- a/src/internal/trace/v2/internal/testgen/go122/trace.go
+++ b/src/internal/trace/internal/testgen/go122/trace.go
@@ -12,11 +12,11 @@ import (
"regexp"
"strings"
- "internal/trace/v2"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/raw"
- "internal/trace/v2/version"
+ "internal/trace"
+ "internal/trace/event"
+ "internal/trace/event/go122"
+ "internal/trace/raw"
+ "internal/trace/version"
"internal/txtar"
)
diff --git a/src/internal/trace/mud_test.go b/src/internal/trace/mud_test.go
index b3d74dcf34..9856442cff 100644
--- a/src/internal/trace/mud_test.go
+++ b/src/internal/trace/mud_test.go
@@ -5,6 +5,7 @@
package trace
import (
+ "math"
"math/rand"
"testing"
)
@@ -85,3 +86,15 @@ func TestMUDTracking(t *testing.T) {
}
}
}
+
+// aeq returns true if x and y are equal up to 8 digits (1 part in 100
+// million).
+// TODO(amedee) dup of gc_test.go
+func aeq(x, y float64) bool {
+ if x < 0 && y < 0 {
+ x, y = -x, -y
+ }
+ const digits = 8
+ factor := 1 - math.Pow(10, -digits+1)
+ return x*factor <= y && y*factor <= x
+}
diff --git a/src/internal/trace/v2/oldtrace.go b/src/internal/trace/oldtrace.go
index 29b7173a3a..c49f8c7474 100644
--- a/src/internal/trace/v2/oldtrace.go
+++ b/src/internal/trace/oldtrace.go
@@ -30,9 +30,9 @@ package trace
import (
"errors"
"fmt"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/internal/oldtrace"
+ "internal/trace/event"
+ "internal/trace/event/go122"
+ "internal/trace/internal/oldtrace"
"io"
)
diff --git a/src/internal/trace/v2/oldtrace_test.go b/src/internal/trace/oldtrace_test.go
index e315b48160..f812d5ef84 100644
--- a/src/internal/trace/v2/oldtrace_test.go
+++ b/src/internal/trace/oldtrace_test.go
@@ -5,8 +5,8 @@
package trace_test
import (
- "internal/trace/v2"
- "internal/trace/v2/testtrace"
+ "internal/trace"
+ "internal/trace/testtrace"
"io"
"os"
"path/filepath"
diff --git a/src/internal/trace/v2/order.go b/src/internal/trace/order.go
index 3d201513eb..9765df6177 100644
--- a/src/internal/trace/v2/order.go
+++ b/src/internal/trace/order.go
@@ -8,9 +8,9 @@ import (
"fmt"
"strings"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/event/go122"
+ "internal/trace/version"
)
// ordering emulates Go scheduler state for both validation and
diff --git a/src/internal/trace/v2/order_test.go b/src/internal/trace/order_test.go
index e267512a53..e267512a53 100644
--- a/src/internal/trace/v2/order_test.go
+++ b/src/internal/trace/order_test.go
diff --git a/src/internal/trace/v2/raw/doc.go b/src/internal/trace/raw/doc.go
index 53487372b7..53487372b7 100644
--- a/src/internal/trace/v2/raw/doc.go
+++ b/src/internal/trace/raw/doc.go
diff --git a/src/internal/trace/v2/raw/event.go b/src/internal/trace/raw/event.go
index 6f09f1f4c2..4766fbe563 100644
--- a/src/internal/trace/v2/raw/event.go
+++ b/src/internal/trace/raw/event.go
@@ -8,8 +8,8 @@ import (
"strconv"
"strings"
- "internal/trace/v2/event"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/version"
)
// Event is a simple representation of a trace event.
diff --git a/src/internal/trace/v2/raw/reader.go b/src/internal/trace/raw/reader.go
index fdcd47f7c5..37f36a1a24 100644
--- a/src/internal/trace/v2/raw/reader.go
+++ b/src/internal/trace/raw/reader.go
@@ -10,8 +10,8 @@ import (
"fmt"
"io"
- "internal/trace/v2/event"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/version"
)
// Reader parses trace bytes with only very basic validation
diff --git a/src/internal/trace/v2/raw/textreader.go b/src/internal/trace/raw/textreader.go
index 07785f35a3..37bfcfefdf 100644
--- a/src/internal/trace/v2/raw/textreader.go
+++ b/src/internal/trace/raw/textreader.go
@@ -12,8 +12,8 @@ import (
"strings"
"unicode"
- "internal/trace/v2/event"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/version"
)
// TextReader parses a text format trace with only very basic validation
diff --git a/src/internal/trace/v2/raw/textwriter.go b/src/internal/trace/raw/textwriter.go
index 367a80bbb6..b9f25923cb 100644
--- a/src/internal/trace/v2/raw/textwriter.go
+++ b/src/internal/trace/raw/textwriter.go
@@ -8,7 +8,7 @@ import (
"fmt"
"io"
- "internal/trace/v2/version"
+ "internal/trace/version"
)
// TextWriter emits the text format of a trace.
diff --git a/src/internal/trace/v2/raw/writer.go b/src/internal/trace/raw/writer.go
index 80596ebe9a..9b87995aa7 100644
--- a/src/internal/trace/v2/raw/writer.go
+++ b/src/internal/trace/raw/writer.go
@@ -9,8 +9,8 @@ import (
"fmt"
"io"
- "internal/trace/v2/event"
- "internal/trace/v2/version"
+ "internal/trace/event"
+ "internal/trace/version"
)
// Writer emits the wire format of a trace.
diff --git a/src/internal/trace/v2/reader.go b/src/internal/trace/reader.go
index 8f886772bf..c05d5b58b3 100644
--- a/src/internal/trace/v2/reader.go
+++ b/src/internal/trace/reader.go
@@ -11,9 +11,9 @@ import (
"slices"
"strings"
- "internal/trace/v2/event/go122"
- "internal/trace/v2/internal/oldtrace"
- "internal/trace/v2/version"
+ "internal/trace/event/go122"
+ "internal/trace/internal/oldtrace"
+ "internal/trace/version"
)
// Reader reads a byte stream, validates it, and produces trace events.
diff --git a/src/internal/trace/v2/reader_test.go b/src/internal/trace/reader_test.go
index 121f0174ed..37c21da667 100644
--- a/src/internal/trace/v2/reader_test.go
+++ b/src/internal/trace/reader_test.go
@@ -14,10 +14,10 @@ import (
"strings"
"testing"
- "internal/trace/v2"
- "internal/trace/v2/raw"
- "internal/trace/v2/testtrace"
- "internal/trace/v2/version"
+ "internal/trace"
+ "internal/trace/raw"
+ "internal/trace/testtrace"
+ "internal/trace/version"
)
var (
diff --git a/src/internal/trace/v2/resources.go b/src/internal/trace/resources.go
index f49696f91c..f49696f91c 100644
--- a/src/internal/trace/v2/resources.go
+++ b/src/internal/trace/resources.go
diff --git a/src/internal/trace/summary.go b/src/internal/trace/summary.go
index 6d889baca3..8dd2317d86 100644
--- a/src/internal/trace/summary.go
+++ b/src/internal/trace/summary.go
@@ -5,7 +5,6 @@
package trace
import (
- tracev2 "internal/trace/v2"
"sort"
"strings"
"time"
@@ -13,19 +12,19 @@ import (
// Summary is the analysis result produced by the summarizer.
type Summary struct {
- Goroutines map[tracev2.GoID]*GoroutineSummary
- Tasks map[tracev2.TaskID]*UserTaskSummary
+ Goroutines map[GoID]*GoroutineSummary
+ Tasks map[TaskID]*UserTaskSummary
}
// GoroutineSummary contains statistics and execution details of a single goroutine.
// (For v2 traces.)
type GoroutineSummary struct {
- ID tracev2.GoID
- Name string // A non-unique human-friendly identifier for the goroutine.
- PC uint64 // The first PC we saw for the entry function of the goroutine
- CreationTime tracev2.Time // Timestamp of the first appearance in the trace.
- StartTime tracev2.Time // Timestamp of the first time it started running. 0 if the goroutine never ran.
- EndTime tracev2.Time // Timestamp of when the goroutine exited. 0 if the goroutine never exited.
+ ID GoID
+ Name string // A non-unique human-friendly identifier for the goroutine.
+ PC uint64 // The first PC we saw for the entry function of the goroutine
+ CreationTime Time // Timestamp of the first appearance in the trace.
+ StartTime Time // Timestamp of the first time it started running. 0 if the goroutine never ran.
+ EndTime Time // Timestamp of when the goroutine exited. 0 if the goroutine never exited.
// List of regions in the goroutine, sorted based on the start time.
Regions []*UserRegionSummary
@@ -43,25 +42,25 @@ type GoroutineSummary struct {
// UserTaskSummary represents a task in the trace.
type UserTaskSummary struct {
- ID tracev2.TaskID
+ ID TaskID
Name string
Parent *UserTaskSummary // nil if the parent is unknown.
Children []*UserTaskSummary
// Task begin event. An EventTaskBegin event or nil.
- Start *tracev2.Event
+ Start *Event
// End end event. Normally EventTaskEnd event or nil.
- End *tracev2.Event
+ End *Event
- // Logs is a list of tracev2.EventLog events associated with the task.
- Logs []*tracev2.Event
+ // Logs is a list of EventLog events associated with the task.
+ Logs []*Event
// List of regions in the task, sorted based on the start time.
Regions []*UserRegionSummary
// Goroutines is the set of goroutines associated with this task.
- Goroutines map[tracev2.GoID]*GoroutineSummary
+ Goroutines map[GoID]*GoroutineSummary
}
// Complete returns true if we have complete information about the task
@@ -83,19 +82,19 @@ func (s *UserTaskSummary) Descendents() []*UserTaskSummary {
// UserRegionSummary represents a region and goroutine execution stats
// while the region was active. (For v2 traces.)
type UserRegionSummary struct {
- TaskID tracev2.TaskID
+ TaskID TaskID
Name string
// Region start event. Normally EventRegionBegin event or nil,
// but can be a state transition event from NotExist or Undetermined
// if the region is a synthetic region representing task inheritance
// from the parent goroutine.
- Start *tracev2.Event
+ Start *Event
// Region end event. Normally EventRegionEnd event or nil,
// but can be a state transition event to NotExist if the goroutine
// terminated without explicitly ending the region.
- End *tracev2.Event
+ End *Event
GoroutineExecStats
}
@@ -183,7 +182,7 @@ func (s GoroutineExecStats) clone() (r GoroutineExecStats) {
// snapshotStat returns the snapshot of the goroutine execution statistics.
// This is called as we process the ordered trace event stream. lastTs is used
// to process pending statistics if this is called before any goroutine end event.
-func (g *GoroutineSummary) snapshotStat(lastTs tracev2.Time) (ret GoroutineExecStats) {
+func (g *GoroutineSummary) snapshotStat(lastTs Time) (ret GoroutineExecStats) {
ret = g.GoroutineExecStats.clone()
if g.goroutineSummary == nil {
@@ -220,7 +219,7 @@ func (g *GoroutineSummary) snapshotStat(lastTs tracev2.Time) (ret GoroutineExecS
// finalize is called when processing a goroutine end event or at
// the end of trace processing. This finalizes the execution stat
// and any active regions in the goroutine, in which case trigger is nil.
-func (g *GoroutineSummary) finalize(lastTs tracev2.Time, trigger *tracev2.Event) {
+func (g *GoroutineSummary) finalize(lastTs Time, trigger *Event) {
if trigger != nil {
g.EndTime = trigger.Time()
}
@@ -244,57 +243,57 @@ func (g *GoroutineSummary) finalize(lastTs tracev2.Time, trigger *tracev2.Event)
// goroutineSummary is a private part of GoroutineSummary that is required only during analysis.
type goroutineSummary struct {
- lastStartTime tracev2.Time
- lastRunnableTime tracev2.Time
- lastBlockTime tracev2.Time
+ lastStartTime Time
+ lastRunnableTime Time
+ lastBlockTime Time
lastBlockReason string
- lastSyscallTime tracev2.Time
- lastSyscallBlockTime tracev2.Time
- lastRangeTime map[string]tracev2.Time
+ lastSyscallTime Time
+ lastSyscallBlockTime Time
+ lastRangeTime map[string]Time
activeRegions []*UserRegionSummary // stack of active regions
}
// Summarizer constructs per-goroutine time statistics for v2 traces.
type Summarizer struct {
// gs contains the map of goroutine summaries we're building up to return to the caller.
- gs map[tracev2.GoID]*GoroutineSummary
+ gs map[GoID]*GoroutineSummary
// tasks contains the map of task summaries we're building up to return to the caller.
- tasks map[tracev2.TaskID]*UserTaskSummary
+ tasks map[TaskID]*UserTaskSummary
// syscallingP and syscallingG represent a binding between a P and G in a syscall.
// Used to correctly identify and clean up after syscalls (blocking or otherwise).
- syscallingP map[tracev2.ProcID]tracev2.GoID
- syscallingG map[tracev2.GoID]tracev2.ProcID
+ syscallingP map[ProcID]GoID
+ syscallingG map[GoID]ProcID
// rangesP is used for optimistic tracking of P-based ranges for goroutines.
//
// It's a best-effort mapping of an active range on a P to the goroutine we think
// is associated with it.
- rangesP map[rangeP]tracev2.GoID
+ rangesP map[rangeP]GoID
- lastTs tracev2.Time // timestamp of the last event processed.
- syncTs tracev2.Time // timestamp of the last sync event processed (or the first timestamp in the trace).
+ lastTs Time // timestamp of the last event processed.
+ syncTs Time // timestamp of the last sync event processed (or the first timestamp in the trace).
}
// NewSummarizer creates a new struct to build goroutine stats from a trace.
func NewSummarizer() *Summarizer {
return &Summarizer{
- gs: make(map[tracev2.GoID]*GoroutineSummary),
- tasks: make(map[tracev2.TaskID]*UserTaskSummary),
- syscallingP: make(map[tracev2.ProcID]tracev2.GoID),
- syscallingG: make(map[tracev2.GoID]tracev2.ProcID),
- rangesP: make(map[rangeP]tracev2.GoID),
+ gs: make(map[GoID]*GoroutineSummary),
+ tasks: make(map[TaskID]*UserTaskSummary),
+ syscallingP: make(map[ProcID]GoID),
+ syscallingG: make(map[GoID]ProcID),
+ rangesP: make(map[rangeP]GoID),
}
}
type rangeP struct {
- id tracev2.ProcID
+ id ProcID
name string
}
// Event feeds a single event into the stats summarizer.
-func (s *Summarizer) Event(ev *tracev2.Event) {
+func (s *Summarizer) Event(ev *Event) {
if s.syncTs == 0 {
s.syncTs = ev.Time()
}
@@ -302,15 +301,15 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
switch ev.Kind() {
// Record sync time for the RangeActive events.
- case tracev2.EventSync:
+ case EventSync:
s.syncTs = ev.Time()
// Handle state transitions.
- case tracev2.EventStateTransition:
+ case EventStateTransition:
st := ev.StateTransition()
switch st.Resource.Kind {
// Handle goroutine transitions, which are the meat of this computation.
- case tracev2.ResourceGoroutine:
+ case ResourceGoroutine:
id := st.Resource.Goroutine()
old, new := st.Goroutine()
if old == new {
@@ -321,17 +320,17 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
// Handle transition out.
g := s.gs[id]
switch old {
- case tracev2.GoUndetermined, tracev2.GoNotExist:
+ case GoUndetermined, GoNotExist:
g = &GoroutineSummary{ID: id, goroutineSummary: &goroutineSummary{}}
// If we're coming out of GoUndetermined, then the creation time is the
// time of the last sync.
- if old == tracev2.GoUndetermined {
+ if old == GoUndetermined {
g.CreationTime = s.syncTs
} else {
g.CreationTime = ev.Time()
}
// The goroutine is being created, or it's being named for the first time.
- g.lastRangeTime = make(map[string]tracev2.Time)
+ g.lastRangeTime = make(map[string]Time)
g.BlockTimeByReason = make(map[string]time.Duration)
g.RangeTime = make(map[string]time.Duration)
@@ -351,23 +350,23 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
g.activeRegions = []*UserRegionSummary{{TaskID: s.TaskID, Start: ev}}
}
s.gs[g.ID] = g
- case tracev2.GoRunning:
+ case GoRunning:
// Record execution time as we transition out of running
g.ExecTime += ev.Time().Sub(g.lastStartTime)
g.lastStartTime = 0
- case tracev2.GoWaiting:
+ case GoWaiting:
// Record block time as we transition out of waiting.
if g.lastBlockTime != 0 {
g.BlockTimeByReason[g.lastBlockReason] += ev.Time().Sub(g.lastBlockTime)
g.lastBlockTime = 0
}
- case tracev2.GoRunnable:
+ case GoRunnable:
// Record sched latency time as we transition out of runnable.
if g.lastRunnableTime != 0 {
g.SchedWaitTime += ev.Time().Sub(g.lastRunnableTime)
g.lastRunnableTime = 0
}
- case tracev2.GoSyscall:
+ case GoSyscall:
// Record syscall execution time and syscall block time as we transition out of syscall.
if g.lastSyscallTime != 0 {
if g.lastSyscallBlockTime != 0 {
@@ -391,10 +390,10 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
// goroutine, because it represents its immutable start point.
if g.Name == "" {
stk := st.Stack
- if stk != tracev2.NoStack {
- var frame tracev2.StackFrame
+ if stk != NoStack {
+ var frame StackFrame
var ok bool
- stk.Frames(func(f tracev2.StackFrame) bool {
+ stk.Frames(func(f StackFrame) bool {
frame = f
ok = true
return true
@@ -413,15 +412,15 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
// Handle transition in.
switch new {
- case tracev2.GoRunning:
+ case GoRunning:
// We started running. Record it.
g.lastStartTime = ev.Time()
if g.StartTime == 0 {
g.StartTime = ev.Time()
}
- case tracev2.GoRunnable:
+ case GoRunnable:
g.lastRunnableTime = ev.Time()
- case tracev2.GoWaiting:
+ case GoWaiting:
if st.Reason != "forever" {
g.lastBlockTime = ev.Time()
g.lastBlockReason = st.Reason
@@ -429,9 +428,9 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
}
// "Forever" is like goroutine death.
fallthrough
- case tracev2.GoNotExist:
+ case GoNotExist:
g.finalize(ev.Time(), ev)
- case tracev2.GoSyscall:
+ case GoSyscall:
s.syscallingP[ev.Proc()] = id
s.syscallingG[id] = ev.Proc()
g.lastSyscallTime = ev.Time()
@@ -439,10 +438,10 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
// Handle procs to detect syscall blocking, which si identifiable as a
// proc going idle while the goroutine it was attached to is in a syscall.
- case tracev2.ResourceProc:
+ case ResourceProc:
id := st.Resource.Proc()
old, new := st.Proc()
- if old != new && new == tracev2.ProcIdle {
+ if old != new && new == ProcIdle {
if goid, ok := s.syscallingP[id]; ok {
g := s.gs[goid]
g.lastSyscallBlockTime = ev.Time()
@@ -452,18 +451,18 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
}
// Handle ranges of all kinds.
- case tracev2.EventRangeBegin, tracev2.EventRangeActive:
+ case EventRangeBegin, EventRangeActive:
r := ev.Range()
var g *GoroutineSummary
switch r.Scope.Kind {
- case tracev2.ResourceGoroutine:
+ case ResourceGoroutine:
// Simple goroutine range. We attribute the entire range regardless of
// goroutine stats. Lots of situations are still identifiable, e.g. a
// goroutine blocked often in mark assist will have both high mark assist
// and high block times. Those interested in a deeper view can look at the
// trace viewer.
g = s.gs[r.Scope.Goroutine()]
- case tracev2.ResourceProc:
+ case ResourceProc:
// N.B. These ranges are not actually bound to the goroutine, they're
// bound to the P. But if we happen to be on the P the whole time, let's
// try to attribute it to the goroutine. (e.g. GC sweeps are here.)
@@ -475,7 +474,7 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
if g == nil {
break
}
- if ev.Kind() == tracev2.EventRangeActive {
+ if ev.Kind() == EventRangeActive {
if ts := g.lastRangeTime[r.Name]; ts != 0 {
g.RangeTime[r.Name] += s.syncTs.Sub(ts)
}
@@ -483,13 +482,13 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
} else {
g.lastRangeTime[r.Name] = ev.Time()
}
- case tracev2.EventRangeEnd:
+ case EventRangeEnd:
r := ev.Range()
var g *GoroutineSummary
switch r.Scope.Kind {
- case tracev2.ResourceGoroutine:
+ case ResourceGoroutine:
g = s.gs[r.Scope.Goroutine()]
- case tracev2.ResourceProc:
+ case ResourceProc:
rp := rangeP{id: r.Scope.Proc(), name: r.Name}
if goid, ok := s.rangesP[rp]; ok {
if goid == ev.Goroutine() {
@@ -511,7 +510,7 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
delete(g.lastRangeTime, r.Name)
// Handle user-defined regions.
- case tracev2.EventRegionBegin:
+ case EventRegionBegin:
g := s.gs[ev.Goroutine()]
r := ev.Region()
region := &UserRegionSummary{
@@ -525,7 +524,7 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
task := s.getOrAddTask(r.Task)
task.Regions = append(task.Regions, region)
task.Goroutines[g.ID] = g
- case tracev2.EventRegionEnd:
+ case EventRegionEnd:
g := s.gs[ev.Goroutine()]
r := ev.Region()
var sd *UserRegionSummary
@@ -549,13 +548,13 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
g.Regions = append(g.Regions, sd)
// Handle tasks and logs.
- case tracev2.EventTaskBegin, tracev2.EventTaskEnd:
+ case EventTaskBegin, EventTaskEnd:
// Initialize the task.
t := ev.Task()
task := s.getOrAddTask(t.ID)
task.Name = t.Type
task.Goroutines[ev.Goroutine()] = s.gs[ev.Goroutine()]
- if ev.Kind() == tracev2.EventTaskBegin {
+ if ev.Kind() == EventTaskBegin {
task.Start = ev
} else {
task.End = ev
@@ -563,12 +562,12 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
// Initialize the parent, if one exists and it hasn't been done yet.
// We need to avoid doing it twice, otherwise we could appear twice
// in the parent's Children list.
- if t.Parent != tracev2.NoTask && task.Parent == nil {
+ if t.Parent != NoTask && task.Parent == nil {
parent := s.getOrAddTask(t.Parent)
task.Parent = parent
parent.Children = append(parent.Children, task)
}
- case tracev2.EventLog:
+ case EventLog:
log := ev.Log()
// Just add the log to the task. We'll create the task if it
// doesn't exist (it's just been mentioned now).
@@ -578,10 +577,10 @@ func (s *Summarizer) Event(ev *tracev2.Event) {
}
}
-func (s *Summarizer) getOrAddTask(id tracev2.TaskID) *UserTaskSummary {
+func (s *Summarizer) getOrAddTask(id TaskID) *UserTaskSummary {
task := s.tasks[id]
if task == nil {
- task = &UserTaskSummary{ID: id, Goroutines: make(map[tracev2.GoID]*GoroutineSummary)}
+ task = &UserTaskSummary{ID: id, Goroutines: make(map[GoID]*GoroutineSummary)}
s.tasks[id] = task
}
return task
@@ -616,30 +615,30 @@ func (s *Summarizer) Finalize() *Summary {
// RelatedGoroutinesV2 finds a set of goroutines related to goroutine goid for v2 traces.
// The association is based on whether they have synchronized with each other in the Go
// scheduler (one has unblocked another).
-func RelatedGoroutinesV2(events []tracev2.Event, goid tracev2.GoID) map[tracev2.GoID]struct{} {
+func RelatedGoroutinesV2(events []Event, goid GoID) map[GoID]struct{} {
// Process all the events, looking for transitions of goroutines
// out of GoWaiting. If there was an active goroutine when this
// happened, then we know that active goroutine unblocked another.
// Scribble all these down so we can process them.
type unblockEdge struct {
- operator tracev2.GoID
- operand tracev2.GoID
+ operator GoID
+ operand GoID
}
var unblockEdges []unblockEdge
for _, ev := range events {
- if ev.Goroutine() == tracev2.NoGoroutine {
+ if ev.Goroutine() == NoGoroutine {
continue
}
- if ev.Kind() != tracev2.EventStateTransition {
+ if ev.Kind() != EventStateTransition {
continue
}
st := ev.StateTransition()
- if st.Resource.Kind != tracev2.ResourceGoroutine {
+ if st.Resource.Kind != ResourceGoroutine {
continue
}
id := st.Resource.Goroutine()
old, new := st.Goroutine()
- if old == new || old != tracev2.GoWaiting {
+ if old == new || old != GoWaiting {
continue
}
unblockEdges = append(unblockEdges, unblockEdge{
@@ -649,11 +648,11 @@ func RelatedGoroutinesV2(events []tracev2.Event, goid tracev2.GoID) map[tracev2.
}
// Compute the transitive closure of depth 2 of goroutines that have unblocked each other
// (starting from goid).
- gmap := make(map[tracev2.GoID]struct{})
+ gmap := make(map[GoID]struct{})
gmap[goid] = struct{}{}
for i := 0; i < 2; i++ {
// Copy the map.
- gmap1 := make(map[tracev2.GoID]struct{})
+ gmap1 := make(map[GoID]struct{})
for g := range gmap {
gmap1[g] = struct{}{}
}
diff --git a/src/internal/trace/summary_test.go b/src/internal/trace/summary_test.go
index 9978b57d98..73865652eb 100644
--- a/src/internal/trace/summary_test.go
+++ b/src/internal/trace/summary_test.go
@@ -2,17 +2,17 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package trace
+package trace_test
import (
- tracev2 "internal/trace/v2"
- "internal/trace/v2/testtrace"
+ "internal/trace"
+ "internal/trace/testtrace"
"io"
"testing"
)
func TestSummarizeGoroutinesTrace(t *testing.T) {
- summaries := summarizeTraceTest(t, "v2/testdata/tests/go122-gc-stress.test").Goroutines
+ summaries := summarizeTraceTest(t, "testdata/tests/go122-gc-stress.test").Goroutines
var (
hasSchedWaitTime bool
hasSyncBlockTime bool
@@ -44,22 +44,22 @@ func TestSummarizeGoroutinesTrace(t *testing.T) {
}
func TestSummarizeGoroutinesRegionsTrace(t *testing.T) {
- summaries := summarizeTraceTest(t, "v2/testdata/tests/go122-annotations.test").Goroutines
+ summaries := summarizeTraceTest(t, "testdata/tests/go122-annotations.test").Goroutines
type region struct {
- startKind tracev2.EventKind
- endKind tracev2.EventKind
+ startKind trace.EventKind
+ endKind trace.EventKind
}
wantRegions := map[string]region{
// N.B. "pre-existing region" never even makes it into the trace.
//
// TODO(mknyszek): Add test case for end-without-a-start, which can happen at
// a generation split only.
- "": {tracev2.EventStateTransition, tracev2.EventStateTransition}, // Task inheritance marker.
- "task0 region": {tracev2.EventRegionBegin, tracev2.EventBad},
- "region0": {tracev2.EventRegionBegin, tracev2.EventRegionEnd},
- "region1": {tracev2.EventRegionBegin, tracev2.EventRegionEnd},
- "unended region": {tracev2.EventRegionBegin, tracev2.EventStateTransition},
- "post-existing region": {tracev2.EventRegionBegin, tracev2.EventBad},
+ "": {trace.EventStateTransition, trace.EventStateTransition}, // Task inheritance marker.
+ "task0 region": {trace.EventRegionBegin, trace.EventBad},
+ "region0": {trace.EventRegionBegin, trace.EventRegionEnd},
+ "region1": {trace.EventRegionBegin, trace.EventRegionEnd},
+ "unended region": {trace.EventRegionBegin, trace.EventStateTransition},
+ "post-existing region": {trace.EventRegionBegin, trace.EventBad},
}
for _, summary := range summaries {
basicGoroutineSummaryChecks(t, summary)
@@ -78,69 +78,69 @@ func TestSummarizeGoroutinesRegionsTrace(t *testing.T) {
}
func TestSummarizeTasksTrace(t *testing.T) {
- summaries := summarizeTraceTest(t, "v2/testdata/tests/go122-annotations-stress.test").Tasks
+ summaries := summarizeTraceTest(t, "testdata/tests/go122-annotations-stress.test").Tasks
type task struct {
name string
- parent *tracev2.TaskID
- children []tracev2.TaskID
- logs []tracev2.Log
- goroutines []tracev2.GoID
+ parent *trace.TaskID
+ children []trace.TaskID
+ logs []trace.Log
+ goroutines []trace.GoID
}
- parent := func(id tracev2.TaskID) *tracev2.TaskID {
- p := new(tracev2.TaskID)
+ parent := func(id trace.TaskID) *trace.TaskID {
+ p := new(trace.TaskID)
*p = id
return p
}
- wantTasks := map[tracev2.TaskID]task{
- tracev2.BackgroundTask: {
+ wantTasks := map[trace.TaskID]task{
+ trace.BackgroundTask: {
// The background task (0) is never any task's parent.
- logs: []tracev2.Log{
- {Task: tracev2.BackgroundTask, Category: "log", Message: "before do"},
- {Task: tracev2.BackgroundTask, Category: "log", Message: "before do"},
+ logs: []trace.Log{
+ {Task: trace.BackgroundTask, Category: "log", Message: "before do"},
+ {Task: trace.BackgroundTask, Category: "log", Message: "before do"},
},
- goroutines: []tracev2.GoID{1},
+ goroutines: []trace.GoID{1},
},
1: {
// This started before tracing started and has no parents.
// Task 2 is technically a child, but we lost that information.
- children: []tracev2.TaskID{3, 7, 16},
- logs: []tracev2.Log{
+ children: []trace.TaskID{3, 7, 16},
+ logs: []trace.Log{
{Task: 1, Category: "log", Message: "before do"},
{Task: 1, Category: "log", Message: "before do"},
},
- goroutines: []tracev2.GoID{1},
+ goroutines: []trace.GoID{1},
},
2: {
// This started before tracing started and its parent is technically (1), but that information was lost.
- children: []tracev2.TaskID{8, 17},
- logs: []tracev2.Log{
+ children: []trace.TaskID{8, 17},
+ logs: []trace.Log{
{Task: 2, Category: "log", Message: "before do"},
{Task: 2, Category: "log", Message: "before do"},
},
- goroutines: []tracev2.GoID{1},
+ goroutines: []trace.GoID{1},
},
3: {
parent: parent(1),
- children: []tracev2.TaskID{10, 19},
- logs: []tracev2.Log{
+ children: []trace.TaskID{10, 19},
+ logs: []trace.Log{
{Task: 3, Category: "log", Message: "before do"},
{Task: 3, Category: "log", Message: "before do"},
},
- goroutines: []tracev2.GoID{1},
+ goroutines: []trace.GoID{1},
},
4: {
// Explicitly, no parent.
- children: []tracev2.TaskID{12, 21},
- logs: []tracev2.Log{
+ children: []trace.TaskID{12, 21},
+ logs: []trace.Log{
{Task: 4, Category: "log", Message: "before do"},
{Task: 4, Category: "log", Message: "before do"},
},
- goroutines: []tracev2.GoID{1},
+ goroutines: []trace.GoID{1},
},
12: {
parent: parent(4),
- children: []tracev2.TaskID{13},
- logs: []tracev2.Log{
+ children: []trace.TaskID{13},
+ logs: []trace.Log{
// TODO(mknyszek): This is computed asynchronously in the trace,
// which makes regenerating this test very annoying, since it will
// likely break this test. Resolve this by making the order not matter.
@@ -152,15 +152,15 @@ func TestSummarizeTasksTrace(t *testing.T) {
{Task: 12, Category: "log", Message: "before do"},
{Task: 12, Category: "log", Message: "fanout region3"},
},
- goroutines: []tracev2.GoID{1, 5, 6, 7, 8, 9},
+ goroutines: []trace.GoID{1, 5, 6, 7, 8, 9},
},
13: {
// Explicitly, no children.
parent: parent(12),
- logs: []tracev2.Log{
+ logs: []trace.Log{
{Task: 13, Category: "log2", Message: "do"},
},
- goroutines: []tracev2.GoID{7},
+ goroutines: []trace.GoID{7},
},
}
for id, summary := range summaries {
@@ -184,7 +184,7 @@ func TestSummarizeTasksTrace(t *testing.T) {
}
// Check children.
- gotChildren := make(map[tracev2.TaskID]struct{})
+ gotChildren := make(map[trace.TaskID]struct{})
for _, child := range summary.Children {
gotChildren[child.ID] = struct{}{}
}
@@ -236,7 +236,7 @@ func TestSummarizeTasksTrace(t *testing.T) {
}
}
-func assertContainsGoroutine(t *testing.T, summaries map[tracev2.GoID]*GoroutineSummary, name string) {
+func assertContainsGoroutine(t *testing.T, summaries map[trace.GoID]*trace.GoroutineSummary, name string) {
for _, summary := range summaries {
if summary.Name == name {
return
@@ -245,8 +245,8 @@ func assertContainsGoroutine(t *testing.T, summaries map[tracev2.GoID]*Goroutine
t.Errorf("missing goroutine %s", name)
}
-func basicGoroutineSummaryChecks(t *testing.T, summary *GoroutineSummary) {
- if summary.ID == tracev2.NoGoroutine {
+func basicGoroutineSummaryChecks(t *testing.T, summary *trace.GoroutineSummary) {
+ if summary.ID == trace.NoGoroutine {
t.Error("summary found for no goroutine")
return
}
@@ -263,16 +263,16 @@ func basicGoroutineSummaryChecks(t *testing.T, summary *GoroutineSummary) {
}
}
-func summarizeTraceTest(t *testing.T, testPath string) *Summary {
- trace, _, err := testtrace.ParseFile(testPath)
+func summarizeTraceTest(t *testing.T, testPath string) *trace.Summary {
+ trc, _, err := testtrace.ParseFile(testPath)
if err != nil {
t.Fatalf("malformed test %s: bad trace file: %v", testPath, err)
}
// Create the analysis state.
- s := NewSummarizer()
+ s := trace.NewSummarizer()
// Create a reader.
- r, err := tracev2.NewReader(trace)
+ r, err := trace.NewReader(trc)
if err != nil {
t.Fatalf("failed to create trace reader for %s: %v", testPath, err)
}
@@ -290,13 +290,13 @@ func summarizeTraceTest(t *testing.T, testPath string) *Summary {
return s.Finalize()
}
-func checkRegionEvents(t *testing.T, wantStart, wantEnd tracev2.EventKind, goid tracev2.GoID, region *UserRegionSummary) {
+func checkRegionEvents(t *testing.T, wantStart, wantEnd trace.EventKind, goid trace.GoID, region *trace.UserRegionSummary) {
switch wantStart {
- case tracev2.EventBad:
+ case trace.EventBad:
if region.Start != nil {
t.Errorf("expected nil region start event, got\n%s", region.Start.String())
}
- case tracev2.EventStateTransition, tracev2.EventRegionBegin:
+ case trace.EventStateTransition, trace.EventRegionBegin:
if region.Start == nil {
t.Error("expected non-nil region start event, got nil")
}
@@ -304,19 +304,19 @@ func checkRegionEvents(t *testing.T, wantStart, wantEnd tracev2.EventKind, goid
if kind != wantStart {
t.Errorf("wanted region start event %s, got %s", wantStart, kind)
}
- if kind == tracev2.EventRegionBegin {
+ if kind == trace.EventRegionBegin {
if region.Start.Region().Type != region.Name {
t.Errorf("region name mismatch: event has %s, summary has %s", region.Start.Region().Type, region.Name)
}
} else {
st := region.Start.StateTransition()
- if st.Resource.Kind != tracev2.ResourceGoroutine {
+ if st.Resource.Kind != trace.ResourceGoroutine {
t.Errorf("found region start event for the wrong resource: %s", st.Resource)
}
if st.Resource.Goroutine() != goid {
t.Errorf("found region start event for the wrong resource: wanted goroutine %d, got %s", goid, st.Resource)
}
- if old, _ := st.Goroutine(); old != tracev2.GoNotExist && old != tracev2.GoUndetermined {
+ if old, _ := st.Goroutine(); old != trace.GoNotExist && old != trace.GoUndetermined {
t.Errorf("expected transition from GoNotExist or GoUndetermined, got transition from %s instead", old)
}
}
@@ -325,11 +325,11 @@ func checkRegionEvents(t *testing.T, wantStart, wantEnd tracev2.EventKind, goid
}
switch wantEnd {
- case tracev2.EventBad:
+ case trace.EventBad:
if region.End != nil {
t.Errorf("expected nil region end event, got\n%s", region.End.String())
}
- case tracev2.EventStateTransition, tracev2.EventRegionEnd:
+ case trace.EventStateTransition, trace.EventRegionEnd:
if region.End == nil {
t.Error("expected non-nil region end event, got nil")
}
@@ -337,19 +337,19 @@ func checkRegionEvents(t *testing.T, wantStart, wantEnd tracev2.EventKind, goid
if kind != wantEnd {
t.Errorf("wanted region end event %s, got %s", wantEnd, kind)
}
- if kind == tracev2.EventRegionEnd {
+ if kind == trace.EventRegionEnd {
if region.End.Region().Type != region.Name {
t.Errorf("region name mismatch: event has %s, summary has %s", region.End.Region().Type, region.Name)
}
} else {
st := region.End.StateTransition()
- if st.Resource.Kind != tracev2.ResourceGoroutine {
+ if st.Resource.Kind != trace.ResourceGoroutine {
t.Errorf("found region end event for the wrong resource: %s", st.Resource)
}
if st.Resource.Goroutine() != goid {
t.Errorf("found region end event for the wrong resource: wanted goroutine %d, got %s", goid, st.Resource)
}
- if _, new := st.Goroutine(); new != tracev2.GoNotExist {
+ if _, new := st.Goroutine(); new != trace.GoNotExist {
t.Errorf("expected transition to GoNotExist, got transition to %s instead", new)
}
}
@@ -358,7 +358,7 @@ func checkRegionEvents(t *testing.T, wantStart, wantEnd tracev2.EventKind, goid
}
}
-func basicGoroutineExecStatsChecks(t *testing.T, stats *GoroutineExecStats) {
+func basicGoroutineExecStatsChecks(t *testing.T, stats *trace.GoroutineExecStats) {
if stats.ExecTime < 0 {
t.Error("found negative ExecTime")
}
@@ -387,20 +387,20 @@ func basicGoroutineExecStatsChecks(t *testing.T, stats *GoroutineExecStats) {
}
func TestRelatedGoroutinesV2Trace(t *testing.T) {
- testPath := "v2/testdata/tests/go122-gc-stress.test"
- trace, _, err := testtrace.ParseFile(testPath)
+ testPath := "testdata/tests/go122-gc-stress.test"
+ trc, _, err := testtrace.ParseFile(testPath)
if err != nil {
t.Fatalf("malformed test %s: bad trace file: %v", testPath, err)
}
// Create a reader.
- r, err := tracev2.NewReader(trace)
+ r, err := trace.NewReader(trc)
if err != nil {
t.Fatalf("failed to create trace reader for %s: %v", testPath, err)
}
// Collect all the events.
- var events []tracev2.Event
+ var events []trace.Event
for {
ev, err := r.ReadEvent()
if err == io.EOF {
@@ -413,13 +413,13 @@ func TestRelatedGoroutinesV2Trace(t *testing.T) {
}
// Test the function.
- targetg := tracev2.GoID(86)
- got := RelatedGoroutinesV2(events, targetg)
- want := map[tracev2.GoID]struct{}{
- tracev2.GoID(86): struct{}{}, // N.B. Result includes target.
- tracev2.GoID(71): struct{}{},
- tracev2.GoID(25): struct{}{},
- tracev2.GoID(122): struct{}{},
+ targetg := trace.GoID(86)
+ got := trace.RelatedGoroutinesV2(events, targetg)
+ want := map[trace.GoID]struct{}{
+ trace.GoID(86): struct{}{}, // N.B. Result includes target.
+ trace.GoID(71): struct{}{},
+ trace.GoID(25): struct{}{},
+ trace.GoID(122): struct{}{},
}
for goid := range got {
if _, ok := want[goid]; ok {
diff --git a/src/internal/trace/v2/testdata/README.md b/src/internal/trace/testdata/README.md
index 0fae9caf37..0fae9caf37 100644
--- a/src/internal/trace/v2/testdata/README.md
+++ b/src/internal/trace/testdata/README.md
diff --git a/src/internal/trace/v2/testdata/cmd/gotraceeventstats/main.go b/src/internal/trace/testdata/cmd/cmd/gotraceeventstats/main.go
index ad06af6481..ad06af6481 100644
--- a/src/internal/trace/v2/testdata/cmd/gotraceeventstats/main.go
+++ b/src/internal/trace/testdata/cmd/cmd/gotraceeventstats/main.go
diff --git a/src/internal/trace/v2/testdata/cmd/gotraceraw/main.go b/src/internal/trace/testdata/cmd/gotraceraw/main.go
index 3df11be7a8..3df11be7a8 100644
--- a/src/internal/trace/v2/testdata/cmd/gotraceraw/main.go
+++ b/src/internal/trace/testdata/cmd/gotraceraw/main.go
diff --git a/src/internal/trace/v2/testdata/cmd/gotracevalidate/main.go b/src/internal/trace/testdata/cmd/gotracevalidate/main.go
index 944d19f85e..944d19f85e 100644
--- a/src/internal/trace/v2/testdata/cmd/gotracevalidate/main.go
+++ b/src/internal/trace/testdata/cmd/gotracevalidate/main.go
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/0cb1786dee0f090b b/src/internal/trace/testdata/fuzz/FuzzReader/0cb1786dee0f090b
index 326ebe1c6e..326ebe1c6e 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/0cb1786dee0f090b
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/0cb1786dee0f090b
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/1e45307d5b2ec36d b/src/internal/trace/testdata/fuzz/FuzzReader/1e45307d5b2ec36d
index 406af9caa6..406af9caa6 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/1e45307d5b2ec36d
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/1e45307d5b2ec36d
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/2b05796f9b2fc48d b/src/internal/trace/testdata/fuzz/FuzzReader/2b05796f9b2fc48d
index 50fdccda6b..50fdccda6b 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/2b05796f9b2fc48d
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/2b05796f9b2fc48d
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/2b9be9aebe08d511 b/src/internal/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511
index 6bcb99adfc..6bcb99adfc 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/2b9be9aebe08d511
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/2b9be9aebe08d511
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/344331b314da0b08 b/src/internal/trace/testdata/fuzz/FuzzReader/344331b314da0b08
index de6e4694be..de6e4694be 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/344331b314da0b08
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/344331b314da0b08
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/365d7b5b633b3f97 b/src/internal/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97
index 8dc370f383..8dc370f383 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/365d7b5b633b3f97
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/365d7b5b633b3f97
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/4055b17cae1a3443 b/src/internal/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443
index ea5417c78a..ea5417c78a 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/4055b17cae1a3443
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/4055b17cae1a3443
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/4d9ddc909984e871 b/src/internal/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871
index 040b2a4cae..040b2a4cae 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/4d9ddc909984e871
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/4d9ddc909984e871
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/56f073e57903588c b/src/internal/trace/testdata/fuzz/FuzzReader/56f073e57903588c
index d34fe3f06c..d34fe3f06c 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/56f073e57903588c
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/56f073e57903588c
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566 b/src/internal/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566
index 5677261155..5677261155 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/9d6ee7d3ddf8d566
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/aeb749b6bc317b66 b/src/internal/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66
index f93b5a90da..f93b5a90da 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/aeb749b6bc317b66
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/aeb749b6bc317b66
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/closing-unknown-region b/src/internal/trace/testdata/fuzz/FuzzReader/closing-unknown-region
index 7433214030..7433214030 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/closing-unknown-region
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/closing-unknown-region
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/d478e18d2d6756b7 b/src/internal/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7
index 3e5fda833a..3e5fda833a 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/d478e18d2d6756b7
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/d478e18d2d6756b7
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/d91203cd397aa0bc b/src/internal/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bc
index d24b94ac97..d24b94ac97 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/d91203cd397aa0bc
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/d91203cd397aa0bc
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/invalid-proc-state b/src/internal/trace/testdata/fuzz/FuzzReader/invalid-proc-state
index e5d3258111..e5d3258111 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/invalid-proc-state
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/invalid-proc-state
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/large-id b/src/internal/trace/testdata/fuzz/FuzzReader/large-id
index 0fb6273b44..0fb6273b44 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/large-id
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/large-id
diff --git a/src/internal/trace/v2/testdata/fuzz/FuzzReader/malformed-timestamp b/src/internal/trace/testdata/fuzz/FuzzReader/malformed-timestamp
index 850ca50f87..850ca50f87 100644
--- a/src/internal/trace/v2/testdata/fuzz/FuzzReader/malformed-timestamp
+++ b/src/internal/trace/testdata/fuzz/FuzzReader/malformed-timestamp
diff --git a/src/internal/trace/v2/testdata/generate.go b/src/internal/trace/testdata/generate.go
index c0658b2329..c0658b2329 100644
--- a/src/internal/trace/v2/testdata/generate.go
+++ b/src/internal/trace/testdata/generate.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-confuse-seq-across-generations.go b/src/internal/trace/testdata/generators/go122-confuse-seq-across-generations.go
index f618c41e78..f618c41e78 100644
--- a/src/internal/trace/v2/testdata/generators/go122-confuse-seq-across-generations.go
+++ b/src/internal/trace/testdata/generators/go122-confuse-seq-across-generations.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-create-syscall-reuse-thread-id.go b/src/internal/trace/testdata/generators/go122-create-syscall-reuse-thread-id.go
index 107cce2cc2..107cce2cc2 100644
--- a/src/internal/trace/v2/testdata/generators/go122-create-syscall-reuse-thread-id.go
+++ b/src/internal/trace/testdata/generators/go122-create-syscall-reuse-thread-id.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-create-syscall-with-p.go b/src/internal/trace/testdata/generators/go122-create-syscall-with-p.go
index 4cb1c4a9a7..4cb1c4a9a7 100644
--- a/src/internal/trace/v2/testdata/generators/go122-create-syscall-with-p.go
+++ b/src/internal/trace/testdata/generators/go122-create-syscall-with-p.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-fail-first-gen-first.go b/src/internal/trace/testdata/generators/go122-fail-first-gen-first.go
index e5dea24e3b..e5dea24e3b 100644
--- a/src/internal/trace/v2/testdata/generators/go122-fail-first-gen-first.go
+++ b/src/internal/trace/testdata/generators/go122-fail-first-gen-first.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-go-create-without-running-g.go b/src/internal/trace/testdata/generators/go122-go-create-without-running-g.go
index b693245b5b..b693245b5b 100644
--- a/src/internal/trace/v2/testdata/generators/go122-go-create-without-running-g.go
+++ b/src/internal/trace/testdata/generators/go122-go-create-without-running-g.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-ambiguous.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-ambiguous.go
index 349a575ef3..349a575ef3 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-ambiguous.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-ambiguous.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go
index f4c9f6ecf3..f4c9f6ecf3 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-bare-m.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go
index e6023ba701..e6023ba701 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go
index 2232dca5dc..2232dca5dc 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.go
index 710827a8f6..710827a8f6 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-gen-boundary.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-gen-boundary.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go
index 24e5cb2a3e..24e5cb2a3e 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc-bare-m.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go
index 2caefe8be5..2caefe8be5 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-reacquire-new-proc.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-self.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-self.go
index dd947346c6..dd947346c6 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-self.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-self.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go
index 630eba8cf2..630eba8cf2 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple-bare-m.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple.go
index 54b43f4f0b..54b43f4f0b 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-simple.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-simple.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go
index 870f8f69f6..870f8f69f6 100644
--- a/src/internal/trace/v2/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go
+++ b/src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go
diff --git a/src/internal/trace/v2/testdata/generators/go122-task-across-generations.go b/src/internal/trace/testdata/generators/go122-task-across-generations.go
index 06ef96e51a..06ef96e51a 100644
--- a/src/internal/trace/v2/testdata/generators/go122-task-across-generations.go
+++ b/src/internal/trace/testdata/generators/go122-task-across-generations.go
diff --git a/src/internal/trace/v2/testdata/mktests.go b/src/internal/trace/testdata/mktests.go
index 57901d96a3..d8d2e9065d 100644
--- a/src/internal/trace/v2/testdata/mktests.go
+++ b/src/internal/trace/testdata/mktests.go
@@ -9,8 +9,8 @@ package main
import (
"bytes"
"fmt"
- "internal/trace/v2/raw"
- "internal/trace/v2/version"
+ "internal/trace/raw"
+ "internal/trace/version"
"internal/txtar"
"io"
"log"
diff --git a/src/internal/trace/v2/testdata/testprog/annotations-stress.go b/src/internal/trace/testdata/testprog/annotations-stress.go
index 511d6ed890..511d6ed890 100644
--- a/src/internal/trace/v2/testdata/testprog/annotations-stress.go
+++ b/src/internal/trace/testdata/testprog/annotations-stress.go
diff --git a/src/internal/trace/v2/testdata/testprog/annotations.go b/src/internal/trace/testdata/testprog/annotations.go
index 2507bc4d38..2507bc4d38 100644
--- a/src/internal/trace/v2/testdata/testprog/annotations.go
+++ b/src/internal/trace/testdata/testprog/annotations.go
diff --git a/src/internal/trace/v2/testdata/testprog/cgo-callback.go b/src/internal/trace/testdata/testprog/cgo-callback.go
index d63650047e..d63650047e 100644
--- a/src/internal/trace/v2/testdata/testprog/cgo-callback.go
+++ b/src/internal/trace/testdata/testprog/cgo-callback.go
diff --git a/src/internal/trace/v2/testdata/testprog/cpu-profile.go b/src/internal/trace/testdata/testprog/cpu-profile.go
index 293a2acac8..293a2acac8 100644
--- a/src/internal/trace/v2/testdata/testprog/cpu-profile.go
+++ b/src/internal/trace/testdata/testprog/cpu-profile.go
diff --git a/src/internal/trace/v2/testdata/testprog/futile-wakeup.go b/src/internal/trace/testdata/testprog/futile-wakeup.go
index cc489818fc..cc489818fc 100644
--- a/src/internal/trace/v2/testdata/testprog/futile-wakeup.go
+++ b/src/internal/trace/testdata/testprog/futile-wakeup.go
diff --git a/src/internal/trace/v2/testdata/testprog/gc-stress.go b/src/internal/trace/testdata/testprog/gc-stress.go
index 7979234c40..7979234c40 100644
--- a/src/internal/trace/v2/testdata/testprog/gc-stress.go
+++ b/src/internal/trace/testdata/testprog/gc-stress.go
diff --git a/src/internal/trace/v2/testdata/testprog/gomaxprocs.go b/src/internal/trace/testdata/testprog/gomaxprocs.go
index 265120767d..265120767d 100644
--- a/src/internal/trace/v2/testdata/testprog/gomaxprocs.go
+++ b/src/internal/trace/testdata/testprog/gomaxprocs.go
diff --git a/src/internal/trace/v2/testdata/testprog/iter-pull.go b/src/internal/trace/testdata/testprog/iter-pull.go
index ba8f41365e..ba8f41365e 100644
--- a/src/internal/trace/v2/testdata/testprog/iter-pull.go
+++ b/src/internal/trace/testdata/testprog/iter-pull.go
diff --git a/src/internal/trace/v2/testdata/testprog/many-start-stop.go b/src/internal/trace/testdata/testprog/many-start-stop.go
index 2d5d0634f0..2d5d0634f0 100644
--- a/src/internal/trace/v2/testdata/testprog/many-start-stop.go
+++ b/src/internal/trace/testdata/testprog/many-start-stop.go
diff --git a/src/internal/trace/v2/testdata/testprog/stacks.go b/src/internal/trace/testdata/testprog/stacks.go
index e64bc86844..e64bc86844 100644
--- a/src/internal/trace/v2/testdata/testprog/stacks.go
+++ b/src/internal/trace/testdata/testprog/stacks.go
diff --git a/src/internal/trace/v2/testdata/testprog/stress-start-stop.go b/src/internal/trace/testdata/testprog/stress-start-stop.go
index 72c1c59417..72c1c59417 100644
--- a/src/internal/trace/v2/testdata/testprog/stress-start-stop.go
+++ b/src/internal/trace/testdata/testprog/stress-start-stop.go
diff --git a/src/internal/trace/v2/testdata/testprog/stress.go b/src/internal/trace/testdata/testprog/stress.go
index 99696d1756..99696d1756 100644
--- a/src/internal/trace/v2/testdata/testprog/stress.go
+++ b/src/internal/trace/testdata/testprog/stress.go
diff --git a/src/internal/trace/v2/testdata/testprog/wait-on-pipe.go b/src/internal/trace/testdata/testprog/wait-on-pipe.go
index 912f5dd3bc..912f5dd3bc 100644
--- a/src/internal/trace/v2/testdata/testprog/wait-on-pipe.go
+++ b/src/internal/trace/testdata/testprog/wait-on-pipe.go
diff --git a/src/internal/trace/v2/testdata/tests/go122-annotations-stress.test b/src/internal/trace/testdata/tests/go122-annotations-stress.test
index 8da8c0f318..8da8c0f318 100644
--- a/src/internal/trace/v2/testdata/tests/go122-annotations-stress.test
+++ b/src/internal/trace/testdata/tests/go122-annotations-stress.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-annotations.test b/src/internal/trace/testdata/tests/go122-annotations.test
index e468673497..e468673497 100644
--- a/src/internal/trace/v2/testdata/tests/go122-annotations.test
+++ b/src/internal/trace/testdata/tests/go122-annotations.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-confuse-seq-across-generations.test b/src/internal/trace/testdata/tests/go122-confuse-seq-across-generations.test
index c0d6f0d3dd..c0d6f0d3dd 100644
--- a/src/internal/trace/v2/testdata/tests/go122-confuse-seq-across-generations.test
+++ b/src/internal/trace/testdata/tests/go122-confuse-seq-across-generations.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-create-syscall-reuse-thread-id.test b/src/internal/trace/testdata/tests/go122-create-syscall-reuse-thread-id.test
index 1820738384..1820738384 100644
--- a/src/internal/trace/v2/testdata/tests/go122-create-syscall-reuse-thread-id.test
+++ b/src/internal/trace/testdata/tests/go122-create-syscall-reuse-thread-id.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-create-syscall-with-p.test b/src/internal/trace/testdata/tests/go122-create-syscall-with-p.test
index 9b329b8bae..9b329b8bae 100644
--- a/src/internal/trace/v2/testdata/tests/go122-create-syscall-with-p.test
+++ b/src/internal/trace/testdata/tests/go122-create-syscall-with-p.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-fail-first-gen-first.test b/src/internal/trace/testdata/tests/go122-fail-first-gen-first.test
index cc4240de40..cc4240de40 100644
--- a/src/internal/trace/v2/testdata/tests/go122-fail-first-gen-first.test
+++ b/src/internal/trace/testdata/tests/go122-fail-first-gen-first.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-gc-stress.test b/src/internal/trace/testdata/tests/go122-gc-stress.test
index d5e7266f1e..d5e7266f1e 100644
--- a/src/internal/trace/v2/testdata/tests/go122-gc-stress.test
+++ b/src/internal/trace/testdata/tests/go122-gc-stress.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-go-create-without-running-g.test b/src/internal/trace/testdata/tests/go122-go-create-without-running-g.test
index 494c444ca3..494c444ca3 100644
--- a/src/internal/trace/v2/testdata/tests/go122-go-create-without-running-g.test
+++ b/src/internal/trace/testdata/tests/go122-go-create-without-running-g.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-ambiguous.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.test
index 0d88af4d61..0d88af4d61 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-ambiguous.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-ambiguous.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test
index bbfc9cc877..bbfc9cc877 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-bare-m.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test
index 8e291327cf..8e291327cf 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc-bare-m.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test
index 3b26e8f13f..3b26e8f13f 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary-reacquire-new-proc.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.test
index 133d8a5447..133d8a5447 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-gen-boundary.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-gen-boundary.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test
index fa68c824b9..fa68c824b9 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc-bare-m.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test
index 85c19fcf05..85c19fcf05 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-reacquire-new-proc.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-self.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-self.test
index 6484eb6d35..6484eb6d35 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-self.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-self.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test
index d33872287d..d33872287d 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple-bare-m.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple.test
index a1f9db41d4..a1f9db41d4 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-simple.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-simple.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test
index 58c41c5549..58c41c5549 100644
--- a/src/internal/trace/v2/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test
+++ b/src/internal/trace/testdata/tests/go122-syscall-steal-proc-sitting-in-syscall.test
diff --git a/src/internal/trace/v2/testdata/tests/go122-task-across-generations.test b/src/internal/trace/testdata/tests/go122-task-across-generations.test
index 0b8abd7346..0b8abd7346 100644
--- a/src/internal/trace/v2/testdata/tests/go122-task-across-generations.test
+++ b/src/internal/trace/testdata/tests/go122-task-across-generations.test
diff --git a/src/internal/trace/v2/testtrace/expectation.go b/src/internal/trace/testtrace/expectation.go
index 3e5394a7e4..3e5394a7e4 100644
--- a/src/internal/trace/v2/testtrace/expectation.go
+++ b/src/internal/trace/testtrace/expectation.go
diff --git a/src/internal/trace/v2/testtrace/format.go b/src/internal/trace/testtrace/format.go
index 2e2e97530c..82b69340ae 100644
--- a/src/internal/trace/v2/testtrace/format.go
+++ b/src/internal/trace/testtrace/format.go
@@ -7,7 +7,7 @@ package testtrace
import (
"bytes"
"fmt"
- "internal/trace/v2/raw"
+ "internal/trace/raw"
"internal/txtar"
"io"
)
diff --git a/src/internal/trace/v2/testtrace/validation.go b/src/internal/trace/testtrace/validation.go
index 1dba366f5b..ec492110e2 100644
--- a/src/internal/trace/v2/testtrace/validation.go
+++ b/src/internal/trace/testtrace/validation.go
@@ -7,7 +7,7 @@ package testtrace
import (
"errors"
"fmt"
- "internal/trace/v2"
+ "internal/trace"
"slices"
"strings"
)
diff --git a/src/internal/trace/v2/trace_test.go b/src/internal/trace/trace_test.go
index 9b74cc0d81..7dc5cbb89d 100644
--- a/src/internal/trace/v2/trace_test.go
+++ b/src/internal/trace/trace_test.go
@@ -10,8 +10,8 @@ import (
"fmt"
"internal/race"
"internal/testenv"
- "internal/trace/v2"
- "internal/trace/v2/testtrace"
+ "internal/trace"
+ "internal/trace/testtrace"
"io"
"os"
"path/filepath"
diff --git a/src/internal/trace/v2/mkexp.bash b/src/internal/trace/v2/mkexp.bash
deleted file mode 100755
index 8a737198c8..0000000000
--- a/src/internal/trace/v2/mkexp.bash
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2023 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# This script copies this directory to golang.org/x/exp/trace.
-# Just point it at an golang.org/x/exp checkout.
-
-set -e
-if [ ! -f mkexp.bash ]; then
- echo 'mkexp.bash must be run from $GOROOT/src/internal/trace/v2' 1>&2
- exit 1
-fi
-
-if [ "$#" -ne 1 ]; then
- echo 'mkexp.bash expects one argument: a path to a golang.org/x/exp git checkout'
- exit 1
-fi
-
-# Copy.
-mkdir -p $1/trace
-cp -r ./* $1/trace
-
-# Cleanup.
-
-# Delete mkexp.bash.
-rm $1/trace/mkexp.bash
-
-# Move tools to cmd. Can't be cmd here because dist will try to build them.
-mv $1/trace/tools $1/trace/cmd
-
-# Make some packages internal.
-mv $1/trace/raw $1/trace/internal/raw
-mv $1/trace/event $1/trace/internal/event
-mv $1/trace/version $1/trace/internal/version
-mv $1/trace/testtrace $1/trace/internal/testtrace
-
-# Move the debug commands out of testdata.
-mv $1/trace/testdata/cmd $1/trace/cmd
-
-# Fix up import paths.
-find $1/trace -name '*.go' | xargs -- sed -i 's/internal\/trace\/v2/golang.org\/x\/exp\/trace/'
-find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/raw/golang.org\/x\/exp\/trace\/internal\/raw/'
-find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event/golang.org\/x\/exp\/trace\/internal\/event/'
-find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event\/go122/golang.org\/x\/exp\/trace\/internal\/event\/go122/'
-find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/version/golang.org\/x\/exp\/trace\/internal\/version/'
-find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/testtrace/golang.org\/x\/exp\/trace\/internal\/testtrace/'
-
-# Format the files.
-find $1/trace -name '*.go' | xargs -- gofmt -w -s
diff --git a/src/internal/trace/v2/value.go b/src/internal/trace/value.go
index bd2cba7878..bd2cba7878 100644
--- a/src/internal/trace/v2/value.go
+++ b/src/internal/trace/value.go
diff --git a/src/internal/trace/v2/version/version.go b/src/internal/trace/version/version.go
index e3354eb0c1..4951bd97d7 100644
--- a/src/internal/trace/v2/version/version.go
+++ b/src/internal/trace/version/version.go
@@ -8,8 +8,8 @@ import (
"fmt"
"io"
- "internal/trace/v2/event"
- "internal/trace/v2/event/go122"
+ "internal/trace/event"
+ "internal/trace/event/go122"
)
// Version represents the version of a trace file.