Improve documentation
Bug: 73625827
Change-Id: I9d2e5d222abc8383e14f7f1172aa3f2833bd92c3
diff --git a/docs/embedder-guide.md b/docs/embedder-guide.md
new file mode 100644
index 0000000..3b6f3d8
--- /dev/null
+++ b/docs/embedder-guide.md
@@ -0,0 +1,29 @@
+# Embedding Perfetto in your own project
+
+*** note
+**This doc is WIP**, stay tuned
+<!-- TODO(primiano): write embedder guide doc. -->
+***
+
+
+This doc should:
+- Contain tech details of the Producer(Endpoint), Consumer(Endpoint) and Service
+ interfaces.
+- Explain how they are supposed to be wired up together, with or without
+ using an IPC transport.
+- Explain the basic embedder requirements (e.g. [`TaskRunner`](/include/perfetto/base/task_runner.h))
+- Point out the relevant GN targets:
+ `//src/tracing`, `//src/tracing:ipc`, `//src/ipc`.
+- Explain the API surface:
+ - [producer.h](/include/perfetto/tracing/core/producer.h)
+ - [consumer.h](/include/perfetto/tracing/core/consumer.h)
+ - [service.h](/include/perfetto/tracing/core/service.h)
+- Explain the ABI surface:
+ - [shared_memory_abi.h](/include/perfetto/tracing/core/shared_memory_abi.h)
+ - IPC's [wire protocol](/src/ipc/wire_protocol.proto) (if used)
+ - The input [config protos](/protos/perfetto/config)
+ - The output [trace protos](/protos/perfetto/trace)
+
+Other resources
+---------------
+* How we wrap our own IPC transport in Android: [/src/tracing/ipc](/src/tracing/ipc).