trace_processor: add support for python synthesised e2e tests

This CL introduces support for traces to be synthesised using Python
scripts and adding these to the suite of trace processor tests. This
uses proto descriptors to avoid generated python classes for all
the protos.

Specifically, this CL does the following:
* moves proto_library to recursively include all dependencies in
descriptors
* adds support to the diff test script to invoke python scripts
* adds an example synthesised trace and generic code to add other such
traces
* adds tests against this synthesised trace and associated out
files

Bug: 117596113
Change-Id: I737dd6487745645b35e3ace12342ec1f63ea7d58
12 files changed
tree: c827395220d62ae04a6902170bd5c651e8769b3e
  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.gn
  20. codereview.settings
  21. heapprofd.rc
  22. MODULE_LICENSE_APACHE2
  23. NOTICE
  24. OWNERS
  25. perfetto.rc
  26. PRESUBMIT.py
  27. README.chromium
  28. README.md
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.