[trace processor] Add RAIL Mode power metrics

Adds 3 metrics for measuring power according to the current RAIL mode as
reported by Scheduler.RAILMode:
1) True power rail values broken down by subsystem if the device has
power rails
2) Estimated power estimates calculated using CPU clock frequency and
power profiles
3) CPU times for when a system trace is not available

Additionally this makes android/android_cpu_agg.sql and
android/android_proxy_power.sql loadable via RUN_METRIC multiple times.

Bug: b/169053635
Change-Id: Id80d84e4e9e6db193836ff964a07c6d739ba7a32
10 files changed
tree: 142f6cb6da4299d257e9c0dcb64d40bed35e825d
  1. bazel/
  2. build_overrides/
  3. buildtools/
  4. debian/
  5. docs/
  6. examples/
  7. gn/
  8. include/
  9. infra/
  10. protos/
  11. src/
  12. test/
  13. tools/
  14. ui/
  15. .clang-format
  16. .clang-tidy
  17. .gitignore
  18. .gn
  19. .style.yapf
  20. Android.bp
  21. Android.bp.extras
  22. BUILD
  23. BUILD.extras
  24. BUILD.gn
  25. CHANGELOG
  26. codereview.settings
  27. heapprofd.rc
  28. LICENSE
  29. METADATA
  30. MODULE_LICENSE_APACHE2
  31. OWNERS
  32. perfetto.rc
  33. PRESUBMIT.py
  34. README.chromium
  35. README.md
  36. TEST_MAPPING
  37. traced_perf.rc
  38. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://perfetto.dev/docs or the /docs/ directory for documentation.