IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocol
* Add Activate/Deactivate command handlers
* Add IReportStructure, INotifyBackends single function interfaces
* Add overrided mechanism to report structure in Runtime.cpp
* Add overrided mechanism to notify backends in ProfilingService.cpp
* Add optional IReportStructure argument to ProfilingService constructor
for use in ActivateTimelineReportingCommandHandler
* Refactoring and tidying up indentation
* Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp
* Added GatordMock end to end test
* Fixed an issue with SendCounterPacket sending duplicate packets
* Fixed an issue with DirectoryCaptureCommandHandler handling of Optional
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
diff --git a/src/profiling/ProfilingService.cpp b/src/profiling/ProfilingService.cpp
index e42ef13..3a8f3f8 100644
--- a/src/profiling/ProfilingService.cpp
+++ b/src/profiling/ProfilingService.cpp
@@ -34,6 +34,7 @@
{
// Update the profiling options
m_Options = options;
+ m_TimelineReporting = options.m_TimelineEnabled;
// Check if the profiling service needs to be reset
if (resetProfilingService)
@@ -431,7 +432,7 @@
// ...finally reset the profiling state machine
m_StateMachine.Reset();
m_BackendProfilingContexts.clear();
- m_MaxGlobalCounterId = armnn::profiling::INFERENCES_RUN;
+ m_MaxGlobalCounterId = armnn::profiling::MAX_ARMNN_COUNTER;
}
void ProfilingService::Stop()
@@ -463,11 +464,22 @@
}
}
+void ProfilingService::NotifyBackendsForTimelineReporting()
+{
+ BackendProfilingContext::iterator it = m_BackendProfilingContexts.begin();
+ while (it != m_BackendProfilingContexts.end())
+ {
+ auto& backendProfilingContext = it->second;
+ backendProfilingContext->EnableTimelineReporting(m_TimelineReporting);
+ // Increment the Iterator to point to next entry
+ it++;
+ }
+}
+
ProfilingService::~ProfilingService()
{
Stop();
}
-
} // namespace profiling
} // namespace armnn