[roll] Roll fuchsia [roll] Roll third_party/pigweed pw_metric: Refactor Metric for 64-bit support

Refactor the core Metric class into a type-discriminated hierarchy:
- UntypedMetric: Common base class stored in intrusive lists. Holds the
  token and type.
- TypedMetric<T>: Templates specializing for float and uint32_t, inheriting
  directly from UntypedMetric and holding their own atomic values.

Minor fixes:
- Save metric value to be used for size calculations and encoding it.
- Move atomic write limits checks inside loop to avoid redundant writes
  to max value.

All services and tests are updated to use the new type-discriminated
UntypedMetric / TypedMetric<T> classes.

Original-Original-Bug: 527616876
TAG=agy
CONV=00d042e4-0d7a-44c6-88b5-7813e806a32e

Original-Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/424534
Original-Original-Revision: 7c438d7972fb11bb7a3f2124c2c7cd49c4df30e1

Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1716011
Original-Original-Revision: fafb32ab2640cf1c7be510344859cacf174338d7
GitOrigin-RevId: ae0a40b183a91cd38f91c2189da0fa6f1578be74
Change-Id: If1af48f7800f303bf724eb97aefac57fb339b477
1 file changed
tree: 7385ac4fe25e72bce8e6c4ff401d7fa85d14279d
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
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 in one of the communication channels documented at get involved.

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.