diff options
author | Carlos Amedee <carlos@golang.org> | 2024-05-09 10:45:01 -0400 |
---|---|---|
committer | Carlos Amedee <carlos@golang.org> | 2024-05-17 18:48:18 +0000 |
commit | 5890b023a549e7ba6b0c563cdf730a91c2de6fae (patch) | |
tree | 098ead9c43c885cd3176d6584cc4e54b51253081 /src/internal | |
parent | 192d65e46b38381653ccbe16cac49f7fa36aac93 (diff) | |
download | go-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.go | 7 | ||||
-rw-r--r-- | src/internal/trace/gc.go | 43 | ||||
-rw-r--r-- | src/internal/trace/gc_test.go | 38 | ||||
-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) | bin | 25772 -> 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) | bin | 28172 -> 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) | bin | 6744 -> 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) | bin | 370129 -> 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) | bin | 322338 -> 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) | bin | 353725 -> 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) | bin | 4882 -> 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) | bin | 7448 -> 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) | bin | 5002 -> 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) | bin | 2000 -> 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) | bin | 1922 -> 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) | bin | 2404 -> 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.go | 13 | ||||
-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.go | 167 | ||||
-rw-r--r-- | src/internal/trace/summary_test.go | 148 | ||||
-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-x | src/internal/trace/v2/mkexp.bash | 50 | ||||
-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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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. |