diff options
author | Ratan Gupta <ratagupt@in.ibm.com> | 2017-10-06 21:45:24 +0530 |
---|---|---|
committer | Ratan Gupta <ratagupt@in.ibm.com> | 2018-02-23 20:05:18 +0530 |
commit | 8bbf9d2cc5a502fa0df0e70bd4232208a1ab6c01 (patch) | |
tree | 843f2eeafd07f8a7bb2505ea31495c729881c15e /src/event_manager.cpp | |
parent | 3e84ec6645bcea669805947f1409b58b4b0d9f72 (diff) | |
download | phosphor-dbus-monitor-8bbf9d2cc5a502fa0df0e70bd4232208a1ab6c01.tar.gz phosphor-dbus-monitor-8bbf9d2cc5a502fa0df0e70bd4232208a1ab6c01.zip |
Implement event rotating
Delete the oldest event of the same type
if a particular type of event reaches threshold.
Resolves openbmc/openbmc#2254
Change-Id: I2692193a027e82032f1d336515691de913bbb726
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
Diffstat (limited to 'src/event_manager.cpp')
-rw-r--r-- | src/event_manager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/event_manager.cpp b/src/event_manager.cpp index 9102137..2c09f35 100644 --- a/src/event_manager.cpp +++ b/src/event_manager.cpp @@ -62,6 +62,13 @@ void Manager::create( auto objPath = std::string(OBJ_EVENT) + '/' + eventName + '/' + std::to_string(id); + // check for capping of the events,if cap reached then erase the oldest + // event. + if (eventQueue.size() == MAX_EVENTS) + { + eventQueue.pop(); + } + eventQueue.emplace(std::make_unique<Entry>( objPath, ms, // Milliseconds since 1970 |