]> Cypherpunks repositories - gostls13.git/commit
cmd/trace: add almost full support for v2 traces in the trace viewer
authorMichael Anthony Knyszek <mknyszek@google.com>
Tue, 14 Nov 2023 17:03:24 +0000 (17:03 +0000)
committerGopher Robot <gobot@golang.org>
Tue, 21 Nov 2023 20:45:06 +0000 (20:45 +0000)
commit748952f494f359acf945b7984929024c248bedab
tree45944b46a6a7da93f31169879feafce38e91f81c
parent3548f9a01f12f691f32ea7f0279b7949650e69b7
cmd/trace: add almost full support for v2 traces in the trace viewer

This change refactors the cmd/trace package and adds most of the support
for v2 traces.

The following features of note are missing in this CL and will be
implemented in follow-up CLs:
- The focustask filter for the trace viewer
- The taskid filter for the trace viewer
- The goid filter for the trace viewer
- Pprof profiles
- The MMU graph
- The goroutine analysis pages
- The task analysis pages
- The region analysis pages

This CL makes one notable change to the trace CLI: it makes the -d flag
accept an integer to set the debug mode. For old traces -d != 0 works
just like -d. For new traces -d=1 means the high-level events and -d=2
means the low-level events.

Thanks to Felix Geisendörfer (felix.geisendoerfer@datadoghq.com) for
doing a lot of work on this CL; I picked this up from him and got a
massive headstart as a result.

For #60773.
For #63960.

Change-Id: I3626e22473227c5980134a85f1bb6a845f567b1b
Reviewed-on: https://go-review.googlesource.com/c/go/+/542218
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Bypass: Michael Knyszek <mknyszek@google.com>
26 files changed:
src/cmd/go/internal/trace/trace.go
src/cmd/trace/main.go
src/cmd/trace/mmu.go
src/cmd/trace/trace.go
src/cmd/trace/trace_test.go
src/cmd/trace/trace_unix_test.go
src/cmd/trace/v2/gen.go [new file with mode: 0644]
src/cmd/trace/v2/gstate.go [new file with mode: 0644]
src/cmd/trace/v2/jsontrace.go [new file with mode: 0644]
src/cmd/trace/v2/jsontrace_test.go [new file with mode: 0644]
src/cmd/trace/v2/main.go [new file with mode: 0644]
src/cmd/trace/v2/procgen.go [new file with mode: 0644]
src/cmd/trace/v2/testdata/generate.go [new file with mode: 0644]
src/cmd/trace/v2/testdata/go122.test [new file with mode: 0644]
src/cmd/trace/v2/testdata/mktests.go [new file with mode: 0644]
src/cmd/trace/v2/testdata/testprog/main.go [new file with mode: 0644]
src/cmd/trace/v2/viewer.go [new file with mode: 0644]
src/go/build/deps_test.go
src/internal/trace/parser.go
src/internal/trace/traceviewer/emitter.go [new file with mode: 0644]
src/internal/trace/traceviewer/format/format.go [moved from src/cmd/internal/traceviewer/format.go with 60% similarity]
src/internal/trace/traceviewer/http.go [new file with mode: 0644]
src/internal/trace/traceviewer/static/README.md [moved from src/cmd/trace/static/README.md with 100% similarity]
src/internal/trace/traceviewer/static/trace_viewer_full.html [moved from src/cmd/trace/static/trace_viewer_full.html with 100% similarity]
src/internal/trace/traceviewer/static/webcomponents.min.js [moved from src/cmd/trace/static/webcomponents.min.js with 100% similarity]
src/internal/trace/v2/version/version.go