Create a reusable thread_state table

We want to be able to query the thread states when aggregating
CPU information over selected tracks. This means that the previous
method of having separate views for each utid that contain the thread
states no longer works. We really need one view that contains all of
the utids.
However b/145350531 prevents this from being fast enough for the UI.
In the mean time we will create a thread state table. This uses
around 80-90% of the trace size in memory which is not ideal.
However we are saving some memory in aosp/1178075 so end users
shouldn't notice a difference.
Once the bug above is fixed this can be changed to be a view or
in the future we can store in in the trace processor as an
optimised table to save roughly 50% of the memory cost.


Change-Id: I36ccd7cbce58f71f34154d9a2efd1ba65fafea9f
2 files changed
tree: bb591765fe2b50a4082f43f287071a6d98d71504
  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. MODULE_LICENSE_APACHE2
  26. NOTICE
  27. OWNERS
  28. perfetto.rc
  29. PRESUBMIT.py
  30. README.chromium
  31. README.md
  32. TEST_MAPPING
  33. 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.

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.