Trace Redaction - Frame Timeline

Screen updates are communicated using frame_timeline_event packets.
These packets fall into one of five types:

  1. expected display frame start (pid + cookie)
  2. actual display frame start (pid + cookie)
  3. expected surface frame end (pid + cookie)
  4. expected surface frame end (pid + cookie)
  5. frame end (cookie)

Start events are end events are connected through their cookie values.
Because cookie saves are unique across the whole trace, it is safe to
assume that 'frame end' with cookie C matches 'frame start' with
cookie C.`

Frame events will appears for a little number of processes. They
always appear for surface flinger, and they will optionally appear
with an app. As implemented, only events from the target package are
retained.

Bug: 333404689
Change-Id: Iabff83549874f1bfbd3875d2ae3cff1a26b68e83
10 files changed
tree: 9a008727f45c204b47d629aecdd3507325ce246f
  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. third_party/
  16. tools/
  17. ui/
  18. .clang-format
  19. .clang-tidy
  20. .git-blame-ignore-revs
  21. .gitattributes
  22. .gitignore
  23. .gn
  24. .style.yapf
  25. Android.bp
  26. Android.bp.extras
  27. BUILD
  28. BUILD.extras
  29. BUILD.gn
  30. CHANGELOG
  31. codereview.settings
  32. DIR_METADATA
  33. heapprofd.rc
  34. LICENSE
  35. meson.build
  36. METADATA
  37. MODULE_LICENSE_APACHE2
  38. OWNERS
  39. perfetto.rc
  40. PerfettoIntegrationTests.xml
  41. persistent_cfg.pbtxt
  42. PRESUBMIT.py
  43. README.chromium
  44. README.md
  45. TEST_MAPPING
  46. traced_perf.rc
  47. WATCHLISTS
  48. 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.