Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sideloading of perfetto binary #528

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

KarlSimonsen
Copy link

Summary:
Sideloading of perfetto binary

(based on earlier diff D36329256 and leveraging a private build based on D39229401)

The motivation here is to build our own copy of the perfetto binary based on the latest OS 12 sources from https://github.com/google/perfetto (OSS). This offers several advantages:

  1. Better Perfetto support and fewer errors by using the Android OS 12 version of perfetto even on older systems running older versions of perfetto natively.
  2. At least limited perfetto support on some devices not currently running at least Android OS 10 and therefore with no native perfetto binary.
  3. Ability to run against a debug version of perfetto for better logging and debugging capabilities.
  4. This also gives us our own built traceconv binary which we will probably want to use going forward to better format the output.

Limitations:

  1. Doesn't really expand memory profiling capability (yet) to all devices. Further work is required to see if further coverage is possible.
  2. Doesn't directly overcome any permissions problems related to working on unrooted devices, although in some cases it gets us closer to solving that.
  3. Current build includes arm and arm64 flavors only. x86 and x86_64 flavors are also can be built out-of-the-box, but any other variations would take further build configuration work. However, this should cover most of our uncovered devices.

Not a panacea, but potentially a big step in the right direction.

Reviewed By: axitkhurana

Differential Revision: D39291671

Karl Simonsen added 2 commits September 13, 2022 10:49
Summary:
Add bridge file downloader

Purpose is to add an OSS file_downloader.py to match the existing OSS file_uploader.py.

Implementation-specific version is not included in OSS.

Differential Revision: https://internalfb.com/D39421795

fbshipit-source-id: 59f30919f7cb6a5393ad3fb591a50df97d4a4afb
Summary:
Sideloading of perfetto binary

(based on earlier diff D36329256 and leveraging a private build based on D39229401)

The motivation here is to build our own copy of the perfetto binary based on the latest OS 12 sources from  https://github.com/google/perfetto (OSS). This offers several advantages:

1. Better Perfetto support and fewer errors by using the Android OS 12 version of perfetto even on older systems running older versions of perfetto natively.
2. At least limited perfetto support on some devices not currently running at least Android OS 10 and therefore with no native perfetto binary.
3. Ability to run against a debug version of perfetto for better logging and debugging capabilities.
4. This also gives us our own built traceconv binary which we will probably want to use going forward to better format the output.

Limitations:
1. Doesn't really expand memory profiling capability (yet) to all devices. Further work is required to see if further coverage is possible.
2. Doesn't directly overcome any permissions problems related to working on unrooted devices, although in some cases it gets us closer to solving that.
3. Current build includes arm and arm64 flavors only. x86 and x86_64 flavors are also can be built out-of-the-box, but any other variations would take further build configuration work. However, this should cover most of our uncovered devices.

Not a panacea, but potentially a big step in the right direction.

Reviewed By: axitkhurana

Differential Revision: D39291671

fbshipit-source-id: 3a355db9f8bc53431f6f871904a4dba19818ac95
@facebook-github-bot
Copy link

This pull request was exported from Phabricator. Differential Revision: D39291671

@facebook-github-bot
Copy link

Hi @KarlSimonsen!

Thank you for your pull request.

We require contributors to sign our Contributor License Agreement, and yours needs attention.

You currently have a record in our system, but the CLA is no longer valid, and will need to be resubmitted.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants