processor: Handle chrome traces with clock_id but no ClockSnapshot

Chromium doesn't emit ClockSnapshots but sets the clock_id field for
some packets. Turns out this currently causes trace import to fail.

Work around this problem by ignoring the translation of the packet's
timestamp if no ClockSnapshots were seen in the trace and its
specified clock ID is MONOTONIC - in this case, the service didn't
emit ClockSnapshots (in-app tracing in chrome) and thus all
timestamps we see are in trace time.

Change-Id: I6c5e9a36066fce40b0e7e0f20306e81ac040f357
Bug: 143276399
2 files changed
tree: 93ca64a2978acf9df22cbc7c1ebcfa1b3322ce56
  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.