[trace] Allow launching apps from `trace record` in a nested environment.

Test: NestedTestEnvironment.Test
      Spec.{DecodingErrors, DecodeEmpty, DecodeEnvironment}

This helps benchmarks on memory usage, uniquely identify the tested component.

For more context: To get the memory usage of a component we need to iterate
throught the running processes (see TaskEnumerator in task-utils/walker.h),
until we find the one with the expected name (e.g. `ledger.cmx` for ledger).
Using the process handle we can then find its memory usage.

However, if more than one process with that name is running, it is
impossible to determine which is the right one. This CL solves this by
creating a nested environment: now both the benchmark component and the
tested one are under the same environment, named "trace_record_environment".
Using this information, it will be possible to correctly identify the process
that shares the same parent with the benchmarks.

Change-Id: I2f3ef0baf769990d6498f0bd9a406ea052d2b0da
12 files changed
tree: 2908ee65427c686d4dba6a2f13afb81e84578451
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.