[roll] Roll fuchsia [memory_sampler] (Poisson) sampling in bytes between samples.

With the current instrumentation strategy, reporting every single
allocation and deallocation is prohibitively expensive on
moderately-to-large sized processes: the FIDL channel used to
communicate data with the profiler service fills up too fast in the
absence of backpressure, causing the connection to eventually be
severed. To mitigate this, this instrumentation randomly samples the
allocations to be reported, hence providing a way to reduce the
instrumentation overhead at the cost of accuracy.

We use a sampling strategy similar to that of Chromium's and
tcmalloc's sampling heap profilers: Poisson sampling with a constant
average sampling interval, in number of bytes allocated between
samples.

This initial support embeds a constant interval; we intend to
introduce configurability in a subsequent commit.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/864019
Original-Revision: d304cc38419b71cf039791f4c99798173a4bd9b0
GitOrigin-RevId: df8e5c94c99abede9cf85b0485095c1040d8923d
Change-Id: Id17241c21e3fba9c818eccd91ee0730fc7aff17e
1 file changed
tree: 76dba49248f25418e02e3231f4c389049954cf5d
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. 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 via the IRC channel #fuchsia on Freenode.

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.