trace_processor: add parsing and ingestion of mm_id of rss_stat

This CL adds support for parsing (in traced_probes) and ingesting mm_id
field of rss_stat which lets us track cross-process rss changes (that is
changes of an mm struct of process A by another process B).

In the past, these sort of changes were inaccurately tracked. With mm_id
and is_curr, we can accurately attribute it to the correct process and
drop events when we don't know the process whose struct is being
changed.

We also add tests to check both the old and new behaviour.

Bug: 144825618
Change-Id: If9ce3a2215e364335130c40feb923009f6a660eb
19 files changed
tree: e6fb9905bf37e940c2c814838621e2c0aef554f0
  1. bazel/
  2. build_overrides/
  3. buildtools/
  4. debian/
  5. docs/
  6. gn/
  7. include/
  8. infra/
  9. protos/
  10. src/
  11. test/
  12. tools/
  13. ui/
  14. .clang-format
  15. .gitignore
  16. .gn
  17. .style.yapf
  18. Android.bp
  19. Android.bp.extras
  20. BUILD
  21. BUILD.extras
  22. BUILD.gn
  23. codereview.settings
  24. heapprofd.rc
  25. LICENSE
  26. MODULE_LICENSE_APACHE2
  27. NOTICE
  28. OWNERS
  29. perfetto.rc
  30. PRESUBMIT.py
  31. README.chromium
  32. README.md
  33. TEST_MAPPING
  34. WORKSPACE
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.

Contributing

See /docs/contributing.md for instructions.

The source-of-truth repo is Android's Gerrit. The GitHub repo is a read-only mirror.

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.

Community

You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev on Freenode.