tp: optimize min_ts_per_track query (#1428)

Optimize the min_ts_per_track query for tracks with large numbers of
samples by limiting the results of the query to only contain timestamps
for track event tracks and not power rail tracks.

This query change is essentially @LalitMaganti's suggestion from
https://github.com/google/perfetto/issues/1323 with some minor
formatting fixes.

Testing:
- Validate example Android and Chrome trace open (there is a very minor
~20 ms perf penalty from on loading these traces)
- Validate that power rail trace from
https://github.com/google/perfetto/issues/1323 now shows negligible time
spent loading plugins (now much less than 1 sec, previously ~10 sec)

Bug: https://github.com/google/perfetto/issues/1323
1 file changed
tree: 9b1839af605c6857b859b256226db7e3c7fd41d8
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. python/
  13. src/
  14. test/
  15. third_party/
  16. tools/
  17. ui/
  18. .bazelignore
  19. .bazelrc
  20. .bazelversion
  21. .clang-format
  22. .clang-tidy
  23. .git-blame-ignore-revs
  24. .gitallowed
  25. .gitattributes
  26. .gitignore
  27. .gn
  28. .style.yapf
  29. .yapfignore
  30. Android.bp
  31. Android.bp.extras
  32. BUILD
  33. BUILD.extras
  34. BUILD.gn
  35. CHANGELOG
  36. codereview.settings
  37. DIR_METADATA
  38. heapprofd.rc
  39. LICENSE
  40. meson.build
  41. METADATA
  42. MODULE.bazel
  43. MODULE.bazel.lock
  44. MODULE_LICENSE_APACHE2
  45. OWNERS
  46. perfetto.rc
  47. perfetto_flags.aconfig
  48. PerfettoIntegrationTests.xml
  49. persistent_cfg.pbtxt
  50. README.chromium
  51. README.md
  52. TEST_MAPPING
  53. traced_perf.rc
  54. WATCHLISTS
  55. 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.