[roll] Roll fuchsia Reland "[cpu_profiler] Allow profiling the root job"

This relands the --system-wide flag for the cpu profiler.

In the logs we saw:
```
17:21:32.089411 [00055.098853][profiler] ERROR: [src/performance/experimental/profiler/targets.cc(227)] failed to get job: 88854: -25 (ZX_ERR_NOT_FOUND)
17:21:32.089711 [00055.099276][profiler] ERROR: [src/performance/experimental/profiler/targets.cc(233)] failed to make job_target: -25 (ZX_ERR_NOT_FOUND)
...
17:21:34.094972 [00057.103174][profiler] INFO: [sampler.cc(225)] Stopped! Collected 0 samples
```

A change to more robustly configure the job tree is include in
If5be0771c4170bb10d582aa732abee7227f88d04, so this patch should now be
ready to reland. Besides the above dependency, this patch has no changes
from the original reverted patch.

Original change's description:
> [cpu_profiler] Allow profiling the root job
>
> Adds a "--system-wide" target to the ffx profiler attach command and
> strings it through to the profiler controller. If specified, the
> controller will walk the root job tree and attach to every thread it
> finds. It's pretty slow to do this right now, so some usability fixes
> will follow.
>
> This also improves the flow where a profiled process exiting mid session
> would cause the session to fail to get any samples, as this made
> profiling system wide very difficult otherwise. Now, samples will be
> returned even if symbols were not available, but they won't get
> symbolized. In this case, a warning will be printed to stderr in the ffx
> plugin, and the session stats will include the offending pids for non
> interactive use cases.
>
> Finally, this adds support to samples_to_pprof for samples with multiple
> lists of module declarations.
>
> Original-Fixed: 359660675
> Original-Fixed: 362511006
>
> Multiply: cpu_profiler.sh
> Change-Id: I02380772e1e8894dbf50ef8d9127ea224278bda9
> Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1101200
> Fuchsia-Auto-Submit: Gwen Mittertreiner <gmtr@google.com>
> API-Review: Miguel Flores <miguelfrde@google.com>
> Reviewed-by: Adam Perry <adamperry@google.com>
> Reviewed-by: Mark Seaborn <mseaborn@google.com>
> Reviewed-by: Miguel Flores <miguelfrde@google.com>
> Commit-Queue: Gwen Mittertreiner <gmtr@google.com>

Original-Bug: 359660675
Original-Bug: 362511006
Original-Bug: 371463369
Multiply: cpu_profiler.sh
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1134813
Original-Revision: 715528af2d2c273337c5d1f119ae16851b59de3d
GitOrigin-RevId: 234188e4305181b3865af73185190c922949f675
Change-Id: I3b6e188ad80d605e4f3d8d6a69e9626488ae62f9
1 file changed
tree: cfa1b54ab5dc885fc9a8a86baf863cf8a9331545
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.