[performance][trace] Implement normalized CPU metrics

Adds the ability to calculate normalized CPU utilization by CPU rates.
It parses "Processing Rate" events from the trace to determine the
CPU's utilization over time. The normalized utilization is computed by
scaling CPU durations by their respective processing rates.

Bug: 487816521
Test: fx test cpu_breakdown_test agg_cpu_breakdown_test
Depends-on: I859300cd421aa3afe686a15709df20d9690c107e
Change-Id: Ib9ab9c49ef821de4630dd4dca50665bbd09e025e
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1542640
Commit-Queue: William Lai <willlai@google.com>
Reviewed-by: Clayton Wilkinson <wilkinsonclay@google.com>
Reviewed-by: Fadi Meawad <fmeawad@google.com>
Dependencies-Satisfied: CL Deps Checker <cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com>
2 files changed