ArmNN
 20.05
TimelineCaptureCommandHandler Class Reference

#include <TimelineCaptureCommandHandler.hpp>

Inheritance diagram for TimelineCaptureCommandHandler:
CommandHandlerFunctor

Public Member Functions

 TimelineCaptureCommandHandler (uint32_t familyId, uint32_t packetId, uint32_t version, ITimelineDecoder &timelineDecoder, uint32_t threadIdSize=0)
 
void operator() (const armnn::profiling::Packet &packet) override
 
void ReadLabel (const unsigned char *data, uint32_t &offset)
 
void ReadEntity (const unsigned char *data, uint32_t &offset)
 
void ReadEventClass (const unsigned char *data, uint32_t &offset)
 
void ReadRelationship (const unsigned char *data, uint32_t &offset)
 
void ReadEvent (const unsigned char *data, uint32_t &offset)
 
void SetThreadIdSize (uint32_t size)
 
- Public Member Functions inherited from CommandHandlerFunctor
 CommandHandlerFunctor (uint32_t familyId, uint32_t packetId, uint32_t version)
 
uint32_t GetFamilyId () const
 
uint32_t GetPacketId () const
 
uint32_t GetVersion () const
 
virtual void operator() (const Packet &packet)=0
 
virtual ~CommandHandlerFunctor ()
 

Detailed Description

Definition at line 20 of file TimelineCaptureCommandHandler.hpp.

Constructor & Destructor Documentation

◆ TimelineCaptureCommandHandler()

TimelineCaptureCommandHandler ( uint32_t  familyId,
uint32_t  packetId,
uint32_t  version,
ITimelineDecoder timelineDecoder,
uint32_t  threadIdSize = 0 
)
inline

Member Function Documentation

◆ operator()()

void operator() ( const armnn::profiling::Packet &  packet)
override

Definition at line 141 of file TimelineCaptureCommandHandler.cpp.

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

142 {
143  ParseData(packet);
144 }

◆ ReadEntity()

void ReadEntity ( const unsigned char *  data,
uint32_t &  offset 
)

Definition at line 79 of file TimelineCaptureCommandHandler.cpp.

References ITimelineDecoder::CreateEntity(), ITimelineDecoder::Entity::m_Guid, and armnn::profiling::ReadUint64().

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

80 {
82  entity.m_Guid = profiling::ReadUint64(data, offset);
83  offset += uint64_t_size;
84  m_TimelineDecoder.CreateEntity(entity);
85 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateEntity(const Entity &)=0

◆ ReadEvent()

void ReadEvent ( const unsigned char *  data,
uint32_t &  offset 
)

Definition at line 113 of file TimelineCaptureCommandHandler.cpp.

References ITimelineDecoder::CreateEvent(), ITimelineDecoder::Event::m_TimeStamp, armnn::profiling::ReadUint32(), and armnn::profiling::ReadUint64().

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

114 {
116  event.m_TimeStamp = profiling::ReadUint64(data, offset);
117  offset += uint64_t_size;
118 
119  if ( m_ThreadIdSize == 4 )
120  {
121  event.m_ThreadId = profiling::ReadUint32(data, offset);
122  }
123  else if ( m_ThreadIdSize == 8 )
124  {
125  event.m_ThreadId = profiling::ReadUint64(data, offset);
126  }
127 
128  offset += m_ThreadIdSize;
129 
130  event.m_Guid = profiling::ReadUint64(data, offset);
131  offset += uint64_t_size;
132 
133  m_TimelineDecoder.CreateEvent(event);
134 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateEvent(const Event &)=0
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)

◆ ReadEventClass()

void ReadEventClass ( const unsigned char *  data,
uint32_t &  offset 
)

Definition at line 87 of file TimelineCaptureCommandHandler.cpp.

References ITimelineDecoder::CreateEventClass(), ITimelineDecoder::EventClass::m_Guid, and armnn::profiling::ReadUint64().

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

88 {
90  eventClass.m_Guid = profiling::ReadUint64(data, offset);
91  offset += uint64_t_size;
92  m_TimelineDecoder.CreateEventClass(eventClass);
93 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateEventClass(const EventClass &)=0

◆ ReadLabel()

void ReadLabel ( const unsigned char *  data,
uint32_t &  offset 
)

Definition at line 57 of file TimelineCaptureCommandHandler.cpp.

References ITimelineDecoder::CreateLabel(), ITimelineDecoder::Label::m_Guid, ITimelineDecoder::Label::m_Name, armnn::profiling::ReadUint32(), armnn::profiling::ReadUint64(), and armnn::profiling::ReadUint8().

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

58 {
60  label.m_Guid = profiling::ReadUint64(data, offset);
61  offset += uint64_t_size;
62 
63  uint32_t nameLength = profiling::ReadUint32(data, offset);
64  offset += uint32_t_size;
65 
66  uint32_t i = 0;
67  // nameLength - 1 to account for null operator \0
68  for ( i = 0; i < nameLength - 1; ++i )
69  {
70  label.m_Name += static_cast<char>(profiling::ReadUint8(data, offset + i));
71  }
72  // Shift offset past nameLength
73  uint32_t uint32WordAmount = (nameLength / uint32_t_size) + (nameLength % uint32_t_size != 0 ? 1 : 0);
74  offset += uint32WordAmount * uint32_t_size;
75 
76  m_TimelineDecoder.CreateLabel(label);
77 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateLabel(const Label &)=0
uint8_t ReadUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset)
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)

◆ ReadRelationship()

void ReadRelationship ( const unsigned char *  data,
uint32_t &  offset 
)

Definition at line 95 of file TimelineCaptureCommandHandler.cpp.

References ITimelineDecoder::CreateRelationship(), ITimelineDecoder::Relationship::m_Guid, ITimelineDecoder::Relationship::m_HeadGuid, ITimelineDecoder::Relationship::m_RelationshipType, ITimelineDecoder::Relationship::m_TailGuid, armnn::profiling::ReadUint32(), and armnn::profiling::ReadUint64().

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

96 {
97  ITimelineDecoder::Relationship relationship;
98  relationship.m_RelationshipType =
100  offset += uint32_t_size;
101 
102  relationship.m_Guid = profiling::ReadUint64(data, offset);
103  offset += uint64_t_size;
104 
105  relationship.m_HeadGuid = profiling::ReadUint64(data, offset);
106  offset += uint64_t_size;
107 
108  relationship.m_TailGuid = profiling::ReadUint64(data, offset);
109  offset += uint64_t_size;
110  m_TimelineDecoder.CreateRelationship(relationship);
111 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateRelationship(const Relationship &)=0
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)

◆ SetThreadIdSize()

void SetThreadIdSize ( uint32_t  size)

Definition at line 136 of file TimelineCaptureCommandHandler.cpp.

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

137 {
138  m_ThreadIdSize = size;
139 }

The documentation for this class was generated from the following files: