diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/profiling/ConnectionAcknowledgedCommandHandler.cpp | 8 | ||||
-rw-r--r-- | src/profiling/ConnectionAcknowledgedCommandHandler.hpp | 6 | ||||
-rw-r--r-- | src/profiling/ProfilingService.cpp | 1 | ||||
-rw-r--r-- | src/timelineDecoder/TimelineDecoder.cpp | 7 |
4 files changed, 20 insertions, 2 deletions
diff --git a/src/profiling/ConnectionAcknowledgedCommandHandler.cpp b/src/profiling/ConnectionAcknowledgedCommandHandler.cpp index 995562fb3f..7690573ccf 100644 --- a/src/profiling/ConnectionAcknowledgedCommandHandler.cpp +++ b/src/profiling/ConnectionAcknowledgedCommandHandler.cpp @@ -40,8 +40,12 @@ void ConnectionAcknowledgedCommandHandler::operator()(const Packet& packet) m_StateMachine.TransitionToState(ProfilingState::Active); // Send the counter directory packet. m_SendCounterPacket.SendCounterDirectoryPacket(m_CounterDirectory); - m_SendTimelinePacket.SendTimelineMessageDirectoryPackage(); - TimelineUtilityMethods::SendWellKnownLabelsAndEventClasses(m_SendTimelinePacket); + + if (m_TimelineEnabled) + { + m_SendTimelinePacket.SendTimelineMessageDirectoryPackage(); + TimelineUtilityMethods::SendWellKnownLabelsAndEventClasses(m_SendTimelinePacket); + } if(m_BackendProfilingContext.has_value()) { diff --git a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp index e2bdff8e96..053d3c32fc 100644 --- a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp +++ b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp @@ -44,12 +44,18 @@ public: void operator()(const Packet& packet) override; + void setTimelineEnabled(bool timelineEnabled) + { + m_TimelineEnabled = timelineEnabled; + } + private: const ICounterDirectory& m_CounterDirectory; ISendCounterPacket& m_SendCounterPacket; ISendTimelinePacket& m_SendTimelinePacket; ProfilingStateMachine& m_StateMachine; Optional<BackendProfilingContexts> m_BackendProfilingContext; + bool m_TimelineEnabled = false; }; } // namespace profiling diff --git a/src/profiling/ProfilingService.cpp b/src/profiling/ProfilingService.cpp index 4d7241e7db..d87ed0bf67 100644 --- a/src/profiling/ProfilingService.cpp +++ b/src/profiling/ProfilingService.cpp @@ -35,6 +35,7 @@ void ProfilingService::ResetExternalProfilingOptions(const ExternalProfilingOpti // Update the profiling options m_Options = options; m_TimelineReporting = options.m_TimelineEnabled; + m_ConnectionAcknowledgedCommandHandler.setTimelineEnabled(options.m_TimelineEnabled); // Check if the profiling service needs to be reset if (resetProfilingService) diff --git a/src/timelineDecoder/TimelineDecoder.cpp b/src/timelineDecoder/TimelineDecoder.cpp index f7f4663530..9aa84d2084 100644 --- a/src/timelineDecoder/TimelineDecoder.cpp +++ b/src/timelineDecoder/TimelineDecoder.cpp @@ -151,6 +151,13 @@ void TimelineDecoder::SetDefaultCallbacks() void TimelineDecoder::print() { + if (m_Model.m_Labels.empty() && m_Model.m_Entities.empty() && m_Model.m_EventClasses.empty() && + m_Model.m_Events.empty() && m_Model.m_Relationships.empty()) + { + std::cout << "No timeline packets received" << std::endl; + return; + } + printLabels(); printEntities(); printEventClasses(); |