This adds a size report for pw_metric, not including the RPC service.
The report shows the impact of having a few metrics, of dumping, and of
adding more metrics.
At this time, the flash usage on Cortex-M4 is unexpectedly large due to
the creation of large static constructors. This will require followup
CLs to address.
This CL also moves a few inlined methods from the .h file into the .cc
to reduce code size.
Change-Id: Ie0cb041a6e1e5e77c921e9078adea2eaabccdd43
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16300
Commit-Queue: Keir Mierle <keir@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
This adds a metric RPC service, which exposes a metric tree. The user
selects which metrics to expose. The metric tree is sent via streaming
RPC to enable streaming potentially large sets of metrics.
Change-Id: Ib308995b8f7f91ce439ca42fe298f802d4bdf7e3
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16003
Commit-Queue: Keir Mierle <keir@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
This starts the metrics module, which will eventually offer facilities
to track metrics about a system, like average memory use, or other
performance counters.
Change-Id: I2b9dd089cbc2a15af295661fda6f8a6c30353d45
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/15441
Commit-Queue: Keir Mierle <keir@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Fateh Singh <fsingh@google.com>
Reviewed-by: Zoltan Szatmary-Ban <szatmz@google.com>