diff --git a/sensors/2.0/multihal/HalProxy.cpp b/sensors/2.0/multihal/HalProxy.cpp index 7c52661601..ac6f17a484 100644 --- a/sensors/2.0/multihal/HalProxy.cpp +++ b/sensors/2.0/multihal/HalProxy.cpp @@ -290,6 +290,8 @@ Return HalProxy::debug(const hidl_handle& fd, const hidl_vec& stream << " Wakelock ref count: " << mWakelockRefCount << std::endl; stream << " # of events on pending write writes queue: " << mSizePendingWriteEventsQueue << std::endl; + stream << " Most events seen on pending write events queue: " + << mMostEventsObservedPendingWriteEventsQueue << std::endl; if (!mPendingWriteEventsQueue.empty()) { stream << " Size of events list on front of pending writes queue: " << mPendingWriteEventsQueue.front().first.size() << std::endl; @@ -571,6 +573,8 @@ void HalProxy::postEventsToMessageQueue(const std::vector& events, size_t std::vector eventsLeft(events.begin() + numToWrite, events.end()); mPendingWriteEventsQueue.push({eventsLeft, numWakeupEvents}); mSizePendingWriteEventsQueue += numLeft; + mMostEventsObservedPendingWriteEventsQueue = + std::max(mMostEventsObservedPendingWriteEventsQueue, mSizePendingWriteEventsQueue); mEventQueueWriteCV.notify_one(); } } diff --git a/sensors/2.0/multihal/include/HalProxy.h b/sensors/2.0/multihal/include/HalProxy.h index ce28e6785f..978f7cf1ba 100644 --- a/sensors/2.0/multihal/include/HalProxy.h +++ b/sensors/2.0/multihal/include/HalProxy.h @@ -200,6 +200,9 @@ class HalProxy : public ISensors, public IScopedWakelockRefCounter { */ std::queue, size_t>> mPendingWriteEventsQueue; + //! The most events observed on the pending write events queue for debug purposes. + size_t mMostEventsObservedPendingWriteEventsQueue = 0; + //! The max number of events allowed in the pending write events queue static constexpr size_t kMaxSizePendingWriteEventsQueue = 100000;