summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author yutingfang <yutingfang@google.com> 2024-11-11 10:32:47 -0800
committer Yuting Fang <yutingfang@google.com> 2024-12-01 22:36:14 +0000
commitf595029c572e37ebbdd6a2deccaacc6efc4e698e (patch)
tree7f65fe31d48bc912f6c2df52adcc0bfb4d66dc5e /libs/androidfw/StringPool.cpp
parent28d89f588632e53c270c562822bac85e64c57b15 (diff)
Batch noteOperation binder calls in the client to reduce call volume
The binder API AppOpsService#noteOperation has significant high call volume. One of the reasons is the clients are often making burst calls like 2k ~ 3k/second. This CL adds a buffer on the client side that aggregates same noteOp calls within a second and sends aggregated count asynchrnously to the system service. On the client side, it also uses op mode cache introduced in ag/29819090 to return op mode. Note: This CL doesn't change current contract of onNotedOp callback. Client will still receive a callback for every noteOp call, including self, sync, async callback. To reduce the async callback spam, there is another flag that controls whether we can reduce the number of callbacks to 1. Flag: android.permission.flags.note_op_batching_enabled Flag: android.permission.flags.rate_limit_batched_note_op_async_callbacks_enabled Bug: 366013082 Test: atest AppOpsLoggingTest Change-Id: I35d0d917cb2180bd8c54cfbd68d19fbbb16459a2
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions