[roll] Roll fuchsia [component_manager] Publish started and stopped durations for escrowing components

Adds the following inspect nodes and properties:

<component_manager>:root/escrow/started_durations/histogram:MONIKER
  Exponential histogram of how long a component remained started, logged
  at next stop. Buckets in terms of seconds:
  [4, 7, 10, 16, 28, 52, 100, 196, 388, 772, 1540, 3076, 6148].
  Exponential histogram is used to cover a large range of durations.
  If we see numbers at the top end of the buckets then that indicates
  some component is unable to stop itself over two hours.

<component_manager>:root/escrow/stopped_durations/histogram:MONIKER
  Linear histogram of how long a component remained stopped, logged at
  next start. Buckets in terms of seconds:
  [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, ..., 250].
  Linear histogram is used to detect thrashing. If we see numbers at
  the lower one or two buckets then that indicates thrashing. For
  http-client the expectation is most stop durations should be above
  250s unless programs are constantly crashing and filing reports.

To save resources we only do this for components that opt into escrow.
The histogram array in inspect also won't include buckets that have zero
values in them, so this should be reasonably efficient.

TEST: manually ran `ffx inspect show '<component_manager>:root/escrow'`
in a product where we stop http-client and observe histograms. Get
output such as:

  root:
    escrow:
      started_durations:
        histogram:
          core/network/http-client:
            type = exponential
            size = 14
            buckets = [[28,52)=2, [772,1540)=1]

Original-Bug: b/333078100
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1031553
Original-Revision: bb1472112bac003efa9e8bf4528eb1465782c9c2
GitOrigin-RevId: 52e42efc7f707b07d37c207b720c9bbab0358892
Change-Id: I9104266e04f5d78b43cdc2ee43c90e3eb2fcaad6
1 file changed
tree: 49dc19967dce61531ba61b2b7ae45dbd04499d2b
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. 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.