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