1# Multi layer tracing 2 3*** note 4**This doc is WIP**, stay tuned. 5<!-- TODO(primiano): write multi-layer tracing doc. --> 6*** 7 8This doc should explain how is possible to compose a hierarchy of tracing 9services. The concrete use case is combining multiprocess tracing in Chromium 10with Android's tracing daemons (think to hypervisors' nested page tables). 11 12The TL;DR of the trick is: 13- ABI stability of the 14 [shared_memory_abi.h](/include/perfetto/tracing/core/shared_memory_abi.h) 15- ABI stability of the IPC surface. 16 17The tracing service in chromium should proxy Producer connections (adapting Mojo 18to our IPC) towards the Android's `traced` service, passing back the shared 19memory buffers to the real producers (the Chrome child process). 20 21Conceptually it is simple and straightforward, requires *some* care to implement 22correctly ownership of the shared memory buffers though. 23