metrics: expose generic metrics computation api in trace processor

This allows clients to pass in the metrics they want to compute without
having to recompile trace processor.

This means that the metrics code has no dependencies on sql_metrics (i.e.
the builtin metrics compiled into trace processor using
gen_merged_sql_metrics), change that code to be passed the relevant
information.

Instead, this mapping is now done inside trace processor impl at the API
level with both old and new api calling down into the same metrics
pipeline.

Bug: 129747127
Change-Id: Icba8322ad3e0be1176d58206004e8dd339e91c45
9 files changed
tree: 344bc4376ee69d3ec976d25d8549e8b60524c432
  1. build_overrides/
  2. buildtools/
  3. debian/
  4. docs/
  5. gn/
  6. include/
  7. infra/
  8. protos/
  9. src/
  10. test/
  11. tools/
  12. ui/
  13. .clang-format
  14. .gitignore
  15. .gn
  16. .travis.yml
  17. Android.bp
  18. Android.bp.extras
  19. BUILD
  20. BUILD.extras
  21. BUILD.gn
  22. codereview.settings
  23. heapprofd.rc
  24. MODULE_LICENSE_APACHE2
  25. NOTICE
  26. OWNERS
  27. perfetto.rc
  28. PRESUBMIT.py
  29. README.chromium
  30. README.md
  31. TEST_MAPPING
README.md

Perfetto - Performance instrumentation and tracing

Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.

See www.perfetto.dev for docs.

Bugs

  • For bugs affecting Android or the tracing internals use the internal bug tracker (go/perfetto-bugs).
  • For bugs affecting Chrome use http://crbug.com, Component:Speed>Tracing label:Perfetto.