commit | 057ac6281f7e32eb44303df74740842833adebae | [log] [tgz] |
---|---|---|
author | Mikhail Khokhlov <khokhlov@google.com> | Wed Feb 28 18:05:52 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Feb 28 18:15:35 2024 |
tree | 272ea03f284691899352e737c35c3905be2c91b9 | |
parent | 3e7fb6b3150279228f524ebb5f436ac87bfa3d82 [diff] |
[Tracing] Use Perfetto client library for tracing on all platforms The Perfetto client library has been used for tracing on most platforms, unblocking multiple improvements in tracing stability and usefulness. This CL makes it the default everywhere, so that the old tracing macros implementation can finally be removed. The binary size increase has been thoroughly addressed (see https://groups.google.com/a/google.com/g/chrome-binary-size/c/XoLlXvAc_5s for details), but some overhead is unavoidable. As discussed on fuchsia-dev@, this is acceptable. Bug: 1006541 Fuchsia-Binary-Size: see above. Change-Id: If15081a21d490c1cdc3eaff8ce7a0fdf60e6cefb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5242957 Commit-Queue: Mikhail Khokhlov <khokhlov@google.com> Reviewed-by: Eric Seckler <eseckler@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/main@{#1266519} NOKEYCHECK=True GitOrigin-RevId: b6afb525d9321915c991a722a5348cd746fd8a04
This directory is used to allow different products to customize settings for repos that are DEPS'ed in or shared.
For example: V8 could be built on its own (in a “standalone” configuration), and it could be built as part of Chromium. V8 might define a top-level target, //v8:d8 (a simple executable), that should only be built in the standalone configuration. To figure out whether or not it should be in a standalone configuration, v8 can create a file, build_overrides/v8.gni, that contains a variable, build_standalone_d8 = true
. and import it (as import(“//build_overrides/v8.gni”) from its top-level BUILD.gn file.
Chromium, on the other hand, might not need to build d8, and so it would create its own build_overrides/v8.gni file, and in it set build_standalone_d8 = false
.
The two files should define the same set of variables, but the values can vary as appropriate to the needs of the two different builds.
The build.gni file provides a way for projects to override defaults for variables used in //build itself (which we want to be shareable between projects).
TODO(crbug.com/588513): Ideally //build_overrides and, in particular, //build_overrides/build.gni should go away completely in favor of some mechanism that can re-use other required files like //.gn, so that we don't have to keep requiring projects to create a bunch of different files to use GN.