tools/gen_merged_proto: automatically traverse all imports

The manually maintained list never made any sense. Just automatically
traverse all the imports. makes protos easier to maintain.

Unfortunately the merged protos are now generated in a different
order and make this CL hard to eyeball. I extracted and diffed the
annotations and they seem to make sense:

For each file I did diff:
A: git show HEAD^:protos/perfetto/config/perfetto_config.proto | grep "Begin of" | sort | uniq -c
B: cat protos/perfetto/config/perfetto_config.proto | grep "Begin of" | sort | uniq -c

Resulting diffs:
For perfetto_trace.proto:
@@ -6 +5,0 @@
-   1 // Begin of protos/perfetto/common/tracing_service_state.proto
@@ -29,0 +29 @@
+   1 // Begin of protos/perfetto/trace/chrome/chrome_trace_event.proto
@@ -33,0 +34 @@
+   1 // Begin of protos/perfetto/trace/ftrace/cgroup.proto
@@ -34,0 +36 @@
+   1 // Begin of protos/perfetto/trace/ftrace/compaction.proto
@@ -36,0 +39 @@
+   1 // Begin of protos/perfetto/trace/ftrace/fence.proto
@@ -42,0 +46,3 @@
+   1 // Begin of protos/perfetto/trace/ftrace/i2c.proto
+   1 // Begin of protos/perfetto/trace/ftrace/ipi.proto
+   1 // Begin of protos/perfetto/trace/ftrace/irq.proto
@@ -44,0 +51 @@
+   1 // Begin of protos/perfetto/trace/ftrace/mdss.proto
@@ -48,0 +56 @@
+   1 // Begin of protos/perfetto/trace/ftrace/regulator.proto
@@ -49,0 +58 @@
+   1 // Begin of protos/perfetto/trace/ftrace/sde.proto
@@ -50,0 +60 @@
+   1 // Begin of protos/perfetto/trace/ftrace/sync.proto
@@ -53,0 +64 @@
+   1 // Begin of protos/perfetto/trace/ftrace/workqueue.proto
@@ -57,0 +69 @@
+   1 // Begin of protos/perfetto/trace/gpu/vulkan_memory_event.proto
@@ -70,0 +83 @@
+   1 // Begin of protos/perfetto/trace/test_event.proto


For perfetto_config.proto
-   1 // Begin of protos/perfetto/common/trace_stats.proto
-   1 // Begin of protos/perfetto/common/tracing_service_state.proto

For perfetto_merged_metrics.proto:
No change (% order)

Change-Id: I178a725700d07f6a41eb5af512ec7f0a43be3f36
7 files changed
tree: aa4fc2bfc7491a4543a28bfd2fe63dca5f678900
  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. OWNERS
  28. perfetto.rc
  29. PRESUBMIT.py
  30. README.chromium
  31. README.md
  32. TEST_MAPPING
  33. traced_perf.rc
  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.