ArmNN
 20.02
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 threadId_size)
 
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)
 
- 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 ~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  threadId_size 
)
inline

Definition at line 30 of file TimelineCaptureCommandHandler.hpp.

References TimelineCaptureCommandHandler::operator()(), TimelineCaptureCommandHandler::ReadEntity(), TimelineCaptureCommandHandler::ReadEvent(), TimelineCaptureCommandHandler::ReadEventClass(), TimelineCaptureCommandHandler::ReadLabel(), and TimelineCaptureCommandHandler::ReadRelationship().

35  : CommandHandlerFunctor(familyId, packetId, version),
36  m_TimelineDecoder(timelineDecoder),
37  m_ThreadIdSize(threadId_size),
38  m_PacketLength(0)
39  {}
CommandHandlerFunctor(uint32_t familyId, uint32_t packetId, uint32_t version)

Member Function Documentation

◆ operator()()

void operator() ( const armnn::profiling::Packet packet)
overridevirtual

Implements CommandHandlerFunctor.

Definition at line 128 of file TimelineCaptureCommandHandler.cpp.

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

129 {
130  ParseData(packet);
131 }

◆ ReadEntity()

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

Definition at line 71 of file TimelineCaptureCommandHandler.cpp.

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

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

72 {
74  entity.m_Guid = profiling::ReadUint64(data, offset);
75  offset += uint64_t_size;
76  m_TimelineDecoder.CreateEntity(entity);
77 }
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 105 of file TimelineCaptureCommandHandler.cpp.

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

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

106 {
108  event.m_TimeStamp = profiling::ReadUint64(data, offset);
109  offset += uint64_t_size;
110 
111  if ( m_ThreadIdSize == 4 )
112  {
113  event.m_ThreadId = profiling::ReadUint32(data, offset);
114  }
115  else if ( m_ThreadIdSize == 8 )
116  {
117  event.m_ThreadId = profiling::ReadUint64(data, offset);
118  }
119 
120  offset += m_ThreadIdSize;
121 
122  event.m_Guid = profiling::ReadUint64(data, offset);
123  offset += uint64_t_size;
124 
125  m_TimelineDecoder.CreateEvent(event);
126 }
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 79 of file TimelineCaptureCommandHandler.cpp.

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

Referenced by TimelineCaptureCommandHandler::TimelineCaptureCommandHandler().

80 {
82  eventClass.m_Guid = profiling::ReadUint64(data, offset);
83  offset += uint64_t_size;
84  m_TimelineDecoder.CreateEventClass(eventClass);
85 }
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 49 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().

50 {
52  label.m_Guid = profiling::ReadUint64(data, offset);
53  offset += uint64_t_size;
54 
55  uint32_t nameLength = profiling::ReadUint32(data, offset);
56  offset += uint32_t_size;
57 
58  uint32_t i = 0;
59  // nameLength - 1 to account for null operator \0
60  for ( i = 0; i < nameLength - 1; ++i )
61  {
62  label.m_Name += static_cast<char>(profiling::ReadUint8(data, offset + i));
63  }
64  // Shift offset past nameLength
65  uint32_t uint32WordAmount = (nameLength / uint32_t_size) + (nameLength % uint32_t_size != 0 ? 1 : 0);
66  offset += uint32WordAmount * uint32_t_size;
67 
68  m_TimelineDecoder.CreateLabel(label);
69 }
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 87 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().

88 {
89  ITimelineDecoder::Relationship relationship;
90  relationship.m_RelationshipType =
92  offset += uint32_t_size;
93 
94  relationship.m_Guid = profiling::ReadUint64(data, offset);
95  offset += uint64_t_size;
96 
97  relationship.m_HeadGuid = profiling::ReadUint64(data, offset);
98  offset += uint64_t_size;
99 
100  relationship.m_TailGuid = profiling::ReadUint64(data, offset);
101  offset += uint64_t_size;
102  m_TimelineDecoder.CreateRelationship(relationship);
103 }
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
virtual TimelineStatus CreateRelationship(const Relationship &)=0
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)

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