trace_processor: overhaul comparision in db tables

This CL overhauls comparisions in all the db tables by centralising the
logic of comparing between values into a single file. By doing this, it
is easier to be both internally consistent (as all comparisions should
call through to one of the comparision functions) and consistent with
SQLite (as we can easily audit that the behaviour matches).

We also make SqlValue comparisions consistent with the strongly typed
comparisions which had drifted out of sync after the code to compare
between doubles and longs was added.

Context: go/perfetto-tp-refactor
Bug: 135177627
Change-Id: I1f9131de872128b5a1c3b08592ede99d2a879a70
10 files changed
tree: e81d83faceb42a9929613f6b8535dae997d49e8d
  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.