[memory] Don't overcommit inspect slots

Before this change, logger.cc would allocate a fix amount of memory
for logging bucket names in the current configuration, which is
wasteful and does not print nicely (`ffx inspect show
core/memory_monitor` for instance would display a lot of empty
slots). This was done because the number of slots was not known at
logger instantiation time, but we can do better by deferring the
instantiation of the property to a time when the number of slots is
known.

Note that the number of buckets is expected to stay constant during
the entire lifetime of the logger, which is why we can get away with a
single dynamic allocation.

Change-Id: I0dcea98e872c9550561354fa05aece3a0e9802b0
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1203045
Reviewed-by: Étienne J. Membrives <etiennej@google.com>
Commit-Queue: Guillaume Chelfi <chelfi@google.com>
Reviewed-by: Miguel Flores <miguelfrde@google.com>
2 files changed
tree: 7f3831f947d391ac1f6a6e0d14b576879a0bab8c
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. 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.