tp: remove the standalone traceconv binary - #6410
Conversation
🎨 Perfetto UI Builds
|
safayat-google
left a comment
There was a problem hiding this comment.
LGTM.
I think the migration is completely backward compatible. We can still update some of the documentation to use the trace processor shell command instead.
-
docs/contributing/build-instructions.md:
Removetraceconvfrom the list of standalone build targets.
Direct developers to buildtrace_processor_shellinstead. -
[Optional]
docs/quickstart/traceconv.md(ordocs/toc.md):
Update command syntax tables fromtraceconvMODEtotrace_processorSUBCOMMAND.
Explain thattraceconvfunctionality is now built directly intotrace_processor. -
[Optional]
docs/getting-started/linux-cookbook.md&docs/getting-started/cpu-profiling.md:
Update references totraceconvbundle andtraceconvprofile.
Yes I have some followup CLs which will take care of all this. |
4a2f96d to
8d2f609
Compare
8d2f609 to
24ffab6
Compare
24ffab6 to
b7b1d73
Compare
b7b1d73 to
4b949d6
Compare
Partial revert of 2d5a0c7 (#6410). Downstream build targets still depend on the standalone traceconv binary (e.g. //third_party/perfetto:traceconv in google3, which is breaking the autoroll), so restore it while those callers migrate to trace_processor_shell. Reverted: - src/traceconv/{main,traceconv}.cc, include/perfetto/ext/traceconv and the executable/main/traceconv_lib GN targets. src/traceconv:lib is now linked by both traceconv and trace_processor_shell. - src/traceconv/wasm_main.cc is dropped; the UI's traceconv WASM module goes back to being built from traceconv.cc. - The bundle CLI test moves back to src/traceconv/traceconv_bundle_integrationtest.cc. - Release plumbing: the LUCI recipe, package-github-release-artifacts, gen_android_bp and gen_bazel, plus the regenerated Android.bp and bazel BUILD. Not reverted: - python/tools/{cpu_profile,heap_profile}.py and the amalgamated tools/{cpu_profile,heap_profile}. #6410 pointed these back at the traceconv prebuilt and its flat MODE arguments, which fixes a real issue independent of this revert: both manifests are pinned at the v57.2 release, and the v57.2 trace_processor_shell prebuilt predates the convert/util subcommands, so `trace_processor_shell util symbolize` fails against the binary the scripts download. The traceconv-name compat shim in src/trace_processor/shell is left in place: it came from #6400, not #6410, so trace_processor_shell keeps accepting traceconv-style command lines when invoked under that name.
) Partial revert of 2d5a0c7 (#6410). Downstream build targets still depend on the standalone traceconv binary (e.g. //third_party/perfetto:traceconv in google3, which is breaking the autoroll), so restore it while those callers migrate to trace_processor_shell. Reverted: - src/traceconv/{main,traceconv}.cc, include/perfetto/ext/traceconv and the executable/main/traceconv_lib GN targets. src/traceconv:lib is now linked by both traceconv and trace_processor_shell. - src/traceconv/wasm_main.cc is dropped; the UI's traceconv WASM module goes back to being built from traceconv.cc. - The bundle CLI test moves back to src/traceconv/traceconv_bundle_integrationtest.cc. - Release plumbing: the LUCI recipe, package-github-release-artifacts, gen_android_bp and gen_bazel, plus the regenerated Android.bp and bazel BUILD. Not reverted: - python/tools/{cpu_profile,heap_profile}.py and the amalgamated tools/{cpu_profile,heap_profile}. #6410 pointed these back at the traceconv prebuilt and its flat MODE arguments, which fixes a real issue independent of this revert: both manifests are pinned at the v57.2 release, and the v57.2 trace_processor_shell prebuilt predates the convert/util subcommands, so `trace_processor_shell util symbolize` fails against the binary the scripts download. The traceconv-name compat shim in src/trace_processor/shell is left in place: it came from #6400, not #6410, so trace_processor_shell keeps accepting traceconv-style command lines when invoked under that name.
traceconv is now trace_processor_shell, so delete the binary:
src/traceconv/{main,traceconv}.cc, the public header, and the
executable/main/traceconv_lib targets. The conversion code
(src/traceconv:lib) stays and is linked by the shell. Drop traceconv from
the release plumbing too: the LUCI recipe, the GitHub packager and
gen_android_bp.
The UI only needs format conversion, and pulling the whole shell into the
WASM would drag in rpc/httpd that doesn't build under Emscripten. So the
WASM keeps a small conversion-only entry point (wasm_main.cc) over
src/traceconv:lib; the worker args and the WASM output name don't change.
The bundle CLI test moves to bundle_integrationtest.cc and drives
TraceProcessorShellMain.
The recipe expectation files still need
recipes.py test train, whichneeds cipd and couldn't be run here.