[stdlib]: Handle nested binder txns Previously, we made an assumption that any binder txns with children were broken txns because binder txns are blocked until the reply. This assumption isn't quite correct because binder txns are allowed to nest. In this example: thread A calls foo() on B and B calls bar() on A. Thread A will receive bar() on the blocked thread. This is actually quite common with Camera interactions with cameraserver. Test: tools/diff_test_trace_processor.py out/android/trace_processor_shell --name-filter '.*binder.*' Change-Id: Ia11e61e9ce5cdb80f6eb65e51eebef9eccc9a441
Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.
See https://perfetto.dev/docs or the /docs/ directory for documentation.