*** note
This doc is WIP, stay tuned.
***
This doc should explain how is possible to compose a hierarchy of tracing
services. The concrete use case is combining multiprocess tracing in Chromium
with Android's tracing daemons (think to hypervisors' nested page tables).
The TL;DR of the trick is:
- ABI stability of the
shared_memory_abi.h
- ABI stability of the IPC surface.
The tracing service in chromium should proxy Producer connections (adapting Mojo
to our IPC) towards the Android's traced
service, passing back the shared
memory buffers to the real producers (the Chrome child process).
Conceptually it is simple and straightforward, requires some care to implement
correctly ownership of the shared memory buffers though.