tree: f802e605eebbebb715966feee3baba4850025925 [path history] [tgz]
  1. .idea/
  2. agent/
  3. external/
  4. perfa/
  5. perfd/
  6. sample_client/
  7. test/
  8. testdata/
  9. trace_processor_daemon/
  10. .clang-format
  11. .clang-tidy
  12. .gitignore
  13. README.md
profiler/native/README.md

Performance tools native

Native (C++) binaries and dependencies used by preformance tools insfrastructure.

Prerequisites

  • All sections below expect you to start in .../tools/base/profiler/native
  • You should have bazel in your path, and it should point to .../tools/base/bazel/bazel

To compile everything

bazel build ...

By default, our builds are configured to optimize for build speed, somewhere between debug and release builds.

To compile everything for release

bazel build --config release ...

The release config is defined in .../tools/bazel.rc and automatically supplies various parameters, such as -c opt, to ensure all binaries are optimized.

To compile explicitly for debug

bazel build -c dbg ...

You can use the -c dbg option with any of the following sections as well, if necessary.

To compile just host binaries

bazel build //tools/base/transport/agent:libjvmtiagent.so //tools/base/transport:transport_main

To compile just Android binaries

bazel build //tools/base/transport/agent:android //tools/base/transport:android

To run the host unit tests

bazel test ...

To build a specific ABI

By default and for convenience, our bazel configuration is set up to always build all Android ABIs. If for some reason you want to restrict the build to a particular one, edit .../tools/bazel.rc and change the following line:

build --fat_apk_cpu=x86,armeabi-v7a,arm64-v8a

For example, for emulator only:

build --fat_apk_cpu=x86

Of course, this is for development only. Don't check in such changes.