Skip to content

tp: remove the standalone traceconv binary - #6410

Merged
LalitMaganti merged 1 commit into
mainfrom
dev/lalitm/tp-remove-the-standalone-traceconv-binary
Aug 3, 2026
Merged

tp: remove the standalone traceconv binary#6410
LalitMaganti merged 1 commit into
mainfrom
dev/lalitm/tp-remove-the-standalone-traceconv-binary

Conversation

@LalitMaganti

Copy link
Copy Markdown
Member

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, which
needs cipd and couldn't be run here.

@LalitMaganti
LalitMaganti requested a review from a team as a code owner June 29, 2026 13:56
Comment thread infra/luci/recipes/perfetto.py
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

@safayat-google safayat-google left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

  1. docs/contributing/build-instructions.md:
    Remove traceconv from the list of standalone build targets.
    Direct developers to build trace_processor_shell instead.

  2. [Optional] docs/quickstart/traceconv.md (or docs/toc.md):
    Update command syntax tables from traceconv MODE to trace_processor SUBCOMMAND.
    Explain that traceconv functionality is now built directly into trace_processor.

  3. [Optional] docs/getting-started/linux-cookbook.md & docs/getting-started/cpu-profiling.md:
    Update references to traceconv bundle and traceconv profile.

@LalitMaganti

Copy link
Copy Markdown
Member Author

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.

  1. docs/contributing/build-instructions.md:
    Remove traceconv from the list of standalone build targets.
    Direct developers to build trace_processor_shell instead.
  2. [Optional] docs/quickstart/traceconv.md (or docs/toc.md):
    Update command syntax tables from traceconv MODE to trace_processor SUBCOMMAND.
    Explain that traceconv functionality is now built directly into trace_processor.
  3. [Optional] docs/getting-started/linux-cookbook.md & docs/getting-started/cpu-profiling.md:
    Update references to traceconv bundle and traceconv profile.

Yes I have some followup CLs which will take care of all this.

@LalitMaganti
LalitMaganti changed the base branch from main to dev/lalitm/docs-point-trace-conversion-docs-at-trace_processor August 3, 2026 09:31
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/tp-remove-the-standalone-traceconv-binary branch from 4a2f96d to 8d2f609 Compare August 3, 2026 09:32
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/tp-remove-the-standalone-traceconv-binary branch from 8d2f609 to 24ffab6 Compare August 3, 2026 09:34
Base automatically changed from dev/lalitm/docs-point-trace-conversion-docs-at-trace_processor to main August 3, 2026 09:59
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/tp-remove-the-standalone-traceconv-binary branch from 24ffab6 to b7b1d73 Compare August 3, 2026 10:05
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/tp-remove-the-standalone-traceconv-binary branch from b7b1d73 to 4b949d6 Compare August 3, 2026 10:08
@LalitMaganti
LalitMaganti merged commit 2d5a0c7 into main Aug 3, 2026
28 checks passed
@LalitMaganti
LalitMaganti deleted the dev/lalitm/tp-remove-the-standalone-traceconv-binary branch August 3, 2026 10:31
sashwinbalaji added a commit that referenced this pull request Aug 3, 2026
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.
sashwinbalaji added a commit that referenced this pull request Aug 3, 2026
)

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants