Add Binder Observer and use it to collect data
1. Add BinderStatsPusher This has the aggregation logic and the push logic 2. Add Binder Observer This is the object which orchestrates the colelction 3. Collect and send Data to BinderObserver This is done in IPCThreadState 4. Add aggregateBinderSpam to BinderStatsPusher Add spam aggregation logic 5. Add lock free Spsc queue to store BinderStatsData We know that locks in binder txn can cause severe perf penalties. Each thread will have a local Spsc Queue Queues will be registered with the queue orchestrator when IPCThreadState is constructed. When there is a flush, data will be popped from all the queues using the orchestrator Test: atest binderUnitTest Bug: 299356196 Flag: build.RELEASE_LIBBINDER_BINDER_OBSERVER Change-Id: Iaa00e412d97e3865a037e146f7c08fe7e62cb00a
Loading
Please register or sign in to comment