[roll] Roll fuchsia [cpu_profiler] Better encapsulate component attaching

The logic to walk a component and attach to it leaked out into the
profiler_controller code. It also meant that the ComponentTargets were
having callbacks injected into them which is difficult to follow for a
reading, and also copies raw `this` pointers which is spooky.

This should help make the job to pregather all modules in the sampler
easier to reason about.

This:
- pulls the component walking logic into component.[cc,h]
- switches to using a Ref+Weak pointer so that we don't have dangling
  `this` references hanging around
- Changes component to only have access to the sampler instead of saving
  a `this` to the profiler_controller global state.

Original-Bug: 417233162

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1274745
Original-Revision: 744663cb8f70b900f3788ea59f5d0cc010b4703f
GitOrigin-RevId: 2792b0158e46b257e5b9efc44bca2d6bf5a80692
Change-Id: I07f5644647f8ecfbdca740913be4ed76644b4aaf
1 file changed
tree: 40697831b4d0d924353f0fb4c90f9b72394f25d1
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
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.