Fix issues for memory instrumentation JSON exporting.

1. Enable system probes parsing for minimal storage processor. The
   memory dumps require the system counters added, and this needs to run
   in the minimal processor for JSON conversion. Separates chrome
   related ones to new file and adds support for parsing multiple
   modules for each trace packet field ID.

2. Fix the sizes of mapped regions from KB to bytes. The JSON format for
   these are written in bytes.

3. Fix ordering of level of detail enum.

4. Do not emit empty "vm_regions" entry, since catapult crashes. Handled
   here instead of catapult because traces won't open in older UI.

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