Skip to content

Commit

Permalink
Clarify the gn args section
Browse files Browse the repository at this point in the history
It went back and forth between architectures and args.

Change-Id: Ibad9b5df827428cb7d815d6563520e2701d3ef04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3298660
Reviewed-by: Salvador Guerrero <salg@google.com>
Commit-Queue: ssid <ssid@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946151}
  • Loading branch information
ssiddhartha authored and Chromium LUCI CQ committed Nov 29, 2021
1 parent 2b46d6f commit 0abf6bb
Showing 1 changed file with 28 additions and 13 deletions.
41 changes: 28 additions & 13 deletions tools/tracing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,34 @@ directory for Chrome exists and that Chrome is built with the gn arg

Supported architectures for heap profiling:

* Local builds: arm32, arm64, x86-64

* Even if arm32 is not used, ensure `symbol_level=1` is included in gn
args so that function names are included in symbol files.
* If an emulator is used, use x86-64 architecture. x86 architecture is not
supported for this.
* Prefer to use arm64/x86-64 builds since arm32 support is less stable.
* For arm32, set these gn args: `enable_profiling=true`,
`arm_use_thumb=false`, `is_component_build=false` and `symbol_level=1`.
* Alternatively for arm32 you can use `is_official_build=true`,
`symbol_level=1`.

* Official builds: arm32, arm64, x86-64.
* **Local builds**: arm32, arm64, x86-64

* Set 'symbol_level' to 1 or 2 in gn args. Symbols are used to add
function names to CPU and heap profiles. Level 1 only includes public
functions. Level 2 includes all function names but takes longer to
build.

* **Emulator**: Use x86-64 architecture. x86 architecture is not
supported.

* **Arm64**: If you are building for arm64 and using the primary apk
(chrome.apk or monochrome.apk), then profiling works with all the
builds.

* **Arm64-secondary**: If you are using builds from secondary arch folder
(clang_arm32), then make sure the arm32 gn args defined below are
included.

* Prefer to use arm64/x86-64 primary since arm32 support is less stable.

* For **arm32**, set these gn args:

* Unofficial: `enable_profiling=true`, `arm_use_thumb=false`,
`is_component_build=false` and `symbol_level=1`.
* Official: for arm32 you can use `is_official_build=true`,
`symbol_level=1`.

* **Official builds**: arm32, arm64, x86-64.

* Official builds need to be installed from the play store.
* For arm32, only canary and dev channels are supported.
Expand Down

0 comments on commit 0abf6bb

Please sign in to comment.