Implement metric for input processing delay using LongTask scenario.

This patch includes: creating a new long task tracking table similar
to chrome_tasks, and making the metric calculation scripts generic
enough to handle chrome_tasks and chrome_long_tasks, including
input to browser interval calculations. See crev.com/4071005 for
additional context.

LongTaskTracker events are logged as non-embedded slices  with the
scheduler.long_tasks, and will include all relevant task-name
information (where the posted task is called from, and IPC). They
will additionally include nested Java events for BeginMainFrame,
as these events will not be included with any toplevel root slices.

Bug: 1375779
Change-Id: Id340298c2cbb7480e6188cf923c21c844141eebd
15 files changed
tree: 2b1af64a682bcd8eab637cb816092f2a9095ffc6
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. python/
  13. src/
  14. test/
  15. tools/
  16. ui/
  17. .clang-format
  18. .clang-tidy
  19. .git-blame-ignore-revs
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. .style.yapf
  24. Android.bp
  25. Android.bp.extras
  26. BUILD
  27. BUILD.extras
  28. BUILD.gn
  29. CHANGELOG
  30. codereview.settings
  31. DIR_METADATA
  32. heapprofd.rc
  33. LICENSE
  34. meson.build
  35. METADATA
  36. MODULE_LICENSE_APACHE2
  37. OWNERS
  38. perfetto.rc
  39. PerfettoIntegrationTests.xml
  40. PRESUBMIT.py
  41. README.chromium
  42. README.md
  43. TEST_MAPPING
  44. traced_perf.rc
  45. 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.