google / perfetto

Performance instrumentation and tracing for Android, Linux and Chrome (read-only mirror of https://android.googlesource.com/platform/external/perfetto/)
https://www.perfetto.dev
Apache License 2.0
2.81k stars 350 forks source link

The trace processor is incompatible in v42.0 #711

Closed dianyo closed 8 months ago

dianyo commented 8 months ago

The trace processor in tools folder is incompatible in branch v42.0, I have to modify the script to download the corresponding file. As I saw that the trace_processor file is somewhat generated by other script, there might be some argument assigned incorrectly when generating trace_processor.

primiano commented 8 months ago

Can you please expand. What is incompatible with what? Usually compatibility/incompatibility involves two "entities" that are compatible or not compatible.

In general, it never happens that the tools/trace_processor in a vN branch containts prebuilts for vN. it's usually always off by one. What we do, in sequence is https://perfetto.dev/docs/contributing/sdk-releasing:

In other words, the tools/trace_processor (and other) wrapper that we have make sense only for the main branch. They will always be off by one on the release branches, and this is WAI.

dianyo commented 8 months ago

Hi @primiano,

Thanks for the reply. Let me clarify what issue i met again. I'd like to using the new feature Using more than one instance in parallel. I found that the version shows on the Perfetto web UI is v42.0. Therefore, I tried to use the corresponding trace_processor tool (tools/trace_processor) from tag v42.0 (commit: d00ca95). I then found that the trace_processor in that commit is actually v41.0, which is incompatible with the Perfetto web UI.

After studying the release process you shared, I understand that this is an expected result. There is no official v42.0 release yet, and obviously, no prebuilt roll for that. Do you think it would be better to have documentation for the unreleased tool usage somewhere?

primiano commented 8 months ago

Usually we update the tools/trace_processor prebuilts on main soon after tagging a release. Just something came along this release (Which we are still working on, it's an incompat between trace_processor and the UI) and we haven't rolled those yet.

v42 was a bit of a tricky release because of this incompat that we are addressing and we are effectively skipping it (or better, we'll release v42 and v43 back to back soon). Unfortunately we realized all this only after tagging the release. This lead to the creation of a tag without matching binaries, which never happened before

For now the only way to try out try out the feature is to either build trace_processor_shell yourself from main (or from v42.0) or wait that we release binaries soon.