Add perfetto library fork

This CL imports the windows crosvm perfetto library fork into the
crosvm/perfetto repository. This repository fork is only temporary until
we can converge on a stable C API from the upstream perfetto project.

Another change that this CL has over the normal perfetto repository is
that we removed all the OWNERS files since they conflicted with the
crosvm root OWNERS group.

As per this CL, it currently does not build on Linux due to
Windows-specific dependencies but there is a follow up CL to fix it.

BUG=b:277837670
TEST=None

Change-Id: I2260da8e4e254d3e7639b23d4be424cab31be4d5
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/perfetto/+/4669639
Reviewed-by: Noah Gold <nkgold@google.com>
Auto-Submit: Morg <morg@google.com>
8479 files changed
tree: 5739736ca407b965aa44d92d92d1f680ef8ebe07
  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. tools/
  16. ui/
  17. .clang-format
  18. .clang-tidy
  19. .git-blame-ignore-revs
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. .style.yapf
  24. Android.bp
  25. Android.bp.extras
  26. BUILD
  27. BUILD.extras
  28. BUILD.gn
  29. CHANGELOG
  30. codereview.settings
  31. DIR_METADATA
  32. heapprofd.rc
  33. LICENSE
  34. meson.build
  35. METADATA
  36. MODULE_LICENSE_APACHE2
  37. OWNERS
  38. perfetto.rc
  39. perfetto_fork_commit_hash.txt
  40. PerfettoIntegrationTests.xml
  41. PRESUBMIT.py
  42. README.chromium
  43. README.md
  44. TEST_MAPPING
  45. traced_perf.rc
  46. 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.

This repository is a crosvm-specific copy of a google-internal perfetto repository modified for use on Windows with Rust. It is not a full fork of the external repository as it does not preserve the repo commit history. It is instead checkpointed from a specific (internal) git commit hash.