Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c4ce148 authored by Parth Sane's avatar Parth Sane
Browse files

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
parent 3e234405
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment