Add initial support for start/stop tracing using an extension

To start/stop tracing from the UI, an extension will be used. In this CL
the base code for make the extension work has been added under
"src/chrome_extension". Now "RecordController" is the responsible to
start/stop tracing based on the value of "recordingInProgress" inside
the state. The communications between the controller and the extension
are proxied through a MessageChannel by the front-end, because the
controller is running on a worker and doesn't have access to the API
to send messages to the extension.

In the record page are now displayed 2 additional buttons on the
bottom to start and stop a trace. They are visible only if the
extension is installed. If it isn't installed, this CL should not make
change to the previous UI.

Bug: 138433107
Change-Id: I20c3c6da7cc5f554dad2ee11c4e6cb9b5bc686d9
15 files changed
tree: 098240565e341255844e562cefd48fd1175efbae
  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.