logd: separate LogStatistics from LogBuffer
LogStatistics is intertwined with LogBuffer, even relying on it for thread safety. This needs to change to have a proper LogBufferInterface, so this CL separates them. Specifically: 1) Adding a lock to LogStatistics and adding thread annotations to ensure that data structures are protected appropriately. 2) Moving prune_rows calculation into LogStatistics so it is done while holding this lock. 3) Using LogStatistics instead of LogBuffer where appropriate. Note that there should not be a significant performance regression with this lock, as it will almost always been uncontended. If anything, it should alleviate pressure from LogBuffer's lock. Test: logging unit tests Change-Id: I9d6dde2c96c9f024fa0341711c7bc63379e8e406
Loading
Please register or sign in to comment