[network/bench] Read iPerf results from file instead of logs

Have iPerf write its results to a file in /custom_artifacts rather than
attempting to retrieve them from syslogs, as it's possible for Archivist
to either process the log lines too late for the benchmark to observe
them or to drop them altogether.

This requires adding a custom proxy for custom_artifacts to the netemul
sandbox, that proxies the custom_artifacts storage capability as a
directory to components in managed realms. This is necessary because
storage is deleted when a component is destroyed, which means any custom
artifacts written by a test component are deleted when the test realm is
torn down. The netemul sandbox creates a new subdirectory for every
component to which it routes custom_artifacts to provide the
per-component isolation that it would otherwise get out of the box from
using a storage capability.

Bug: 378163044
Fixed: 377159657
Test: iperf-test
      netstack_iperf_test
Change-Id: I0db973050737316ec07e64076ada5f2d5c4071d4
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1152492
API-Review: Bruno Dal Bo <brunodalbo@google.com>
Commit-Queue: Peter Johnston <peterjohnston@google.com>
Fuchsia-Auto-Submit: Peter Johnston <peterjohnston@google.com>
Reviewed-by: Bruno Dal Bo <brunodalbo@google.com>
9 files changed
tree: d8bfb685f965fee029fdf93f640c9aee3816bfcd
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. analysis_options.yaml
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. CONTRIBUTING.md
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyproject.toml
  33. pyrightconfig.json
  34. README.md
  35. rustfmt.toml
  36. shac.star
  37. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.