From f2c850acaa34a209ce98f791561ce50d0269b2fb Mon Sep 17 00:00:00 2001 From: Didi She Date: Mon, 28 Dec 2020 22:04:19 -0800 Subject: [PATCH] Add more logs to help debug event missing issue In this change we 1) specify the event id range of dropped events, 2) Add a logline when logEvent failed and returned 0. 3) Specify the range of event_id of events fetched and flushing out --- .../profiles/data-management/Current/LoggingManagement.cpp | 6 ++++++ .../profiles/data-management/Current/NotificationEngine.cpp | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/lib/profiles/data-management/Current/LoggingManagement.cpp b/src/lib/profiles/data-management/Current/LoggingManagement.cpp index dd2aebe595..eb1a36f91d 100644 --- a/src/lib/profiles/data-management/Current/LoggingManagement.cpp +++ b/src/lib/profiles/data-management/Current/LoggingManagement.cpp @@ -1094,6 +1094,10 @@ event_id_t LoggingManagement::LogEvent(const EventSchema & inSchema, EventWriter exit: Platform::CriticalSectionExit(); + if (event_id == 0) + { + WeaveLogProgress(EventLogging, "Failed to log event with ProfileId: %d, return event id 0", inSchema.mProfileId); + } return event_id; } @@ -2117,7 +2121,9 @@ void CircularEventBuffer::AddEventUTC(utc_timestamp_t inEventTimestamp) void CircularEventBuffer::RemoveEvent(size_t aNumEvents) { + event_id_t currentFirstEventID = mFirstEventID; mFirstEventID += aNumEvents; + WeaveLogDetail(EventLogging, "Dropping events | Move first event id from %u to %u", currentFirstEventID, mFirstEventID); } /** diff --git a/src/lib/profiles/data-management/Current/NotificationEngine.cpp b/src/lib/profiles/data-management/Current/NotificationEngine.cpp index ae87b2beef..0d7e54ef0b 100644 --- a/src/lib/profiles/data-management/Current/NotificationEngine.cpp +++ b/src/lib/profiles/data-management/Current/NotificationEngine.cpp @@ -1226,6 +1226,8 @@ WEAVE_ERROR NotificationEngine::BuildSingleNotifyRequestEventList(SubscriptionHa event_id_t tmp_id = logger.GetFirstEventID(static_cast(i + 1)); if (tmp_id > initialEvents[i]) { + WeaveLogProgress(DataManagement, "BuildSingleNotifyRequestEventList | Missing event_id range: { %u, %u };", + initialEvents[i], tmp_id - 1); initialEvents[i] = tmp_id; } } @@ -1342,6 +1344,8 @@ WEAVE_ERROR NotificationEngine::BuildSingleNotifyRequestEventList(SubscriptionHa if (aSubHandler->mSelfVendedEvents[i] > initialEvents[i]) { event_count += aSubHandler->mSelfVendedEvents[i] - initialEvents[i]; + WeaveLogProgress(DataManagement, "Fetched events [importance: %d, event_id: %u - %u]", + i, initialEvents[i], aSubHandler->mSelfVendedEvents[i] - 1); } }