14 #include <boost/numeric/conversion/cast.hpp> 59 return c < 128 && (std::isalnum(c) || c ==
'_');
86 template <
typename SwTracePolicy>
90 return std::all_of(s.begin(), s.end(), [](
unsigned char c) {
return SwTracePolicy::IsValidChar(c); });
93 template <
typename SwTracePolicy>
100 outputBuffer.clear();
103 if (!IsValidSwTraceString<SwTracePolicy>(s))
109 size_t s_size = s.size() + 1;
111 size_t outBufferSize = 1 + s_size / uint32_t_size + (s_size % uint32_t_size != 0 ? 1 : 0);
112 outputBuffer.resize(outBufferSize,
'\0');
115 outputBuffer[0] = boost::numeric_cast<uint32_t>(s_size);
116 std::memcpy(outputBuffer.data() + 1, s.data(), s_size);
121 template <
typename SwTracePolicy,
122 typename SwTraceBuffer = std::vector<uint32_t>>
126 SwTraceBuffer tempSwTraceBuffer;
127 bool result = StringToSwTraceString<SwTracePolicy>(directoryComponent, tempSwTraceBuffer);
133 swTraceBuffer.insert(swTraceBuffer.end(), tempSwTraceBuffer.begin(), tempSwTraceBuffer.end());
142 void WriteBytes(
const IPacketBuffer& packetBuffer,
unsigned int offset,
const void* value,
unsigned int valueSize);
146 uint32_t
ConstructHeader(uint32_t packetFamily, uint32_t packetClass, uint32_t packetType);
156 void WriteBytes(
unsigned char* buffer,
unsigned int offset,
const void* value,
unsigned int valueSize);
158 void WriteUint64(
unsigned char* buffer,
unsigned int offset, uint64_t value);
160 void WriteUint32(
unsigned char* buffer,
unsigned int offset, uint32_t value);
162 void WriteUint16(
unsigned char* buffer,
unsigned int offset, uint16_t value);
164 void WriteUint8(
unsigned char* buffer,
unsigned int offset, uint8_t value);
176 void ReadBytes(
const unsigned char* buffer,
unsigned int offset,
unsigned int valueSize, uint8_t outValue[]);
178 uint64_t
ReadUint64(
unsigned const char* buffer,
unsigned int offset);
180 uint32_t
ReadUint32(
unsigned const char* buffer,
unsigned int offset);
182 uint16_t
ReadUint16(
unsigned const char* buffer,
unsigned int offset);
184 uint8_t
ReadUint8(
unsigned const char* buffer,
unsigned int offset);
206 const std::string& label,
207 unsigned char* buffer,
208 unsigned int bufferSize,
209 unsigned int& numberOfBytesWritten);
212 unsigned char* buffer,
213 unsigned int bufferSize,
214 unsigned int& numberOfBytesWritten);
217 uint64_t relationshipGuid,
220 unsigned char* buffer,
221 unsigned int bufferSize,
222 unsigned int& numberOfBytesWritten);
225 unsigned int bufferSize,
226 unsigned int& numberOfBytesWritten);
229 unsigned char* buffer,
230 unsigned int bufferSize,
231 unsigned int& numberOfBytesWritten);
234 std::thread::id threadId,
235 uint64_t profilingGuid,
236 unsigned char* buffer,
237 unsigned int bufferSize,
238 unsigned int& numberOfBytesWritten);
258 bool operator==(
const std::vector<uint8_t>& left, std::thread::id right);
std::vector< char > m_ArgTypes
std::string CentreAlignFormatting(const std::string &stringToPass, const int spacingWidth)
static bool IsValidChar(unsigned char c)
void PrintCounterDirectory(ICounterDirectory &counterDirectory)
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
std::string GetSoftwareVersion()
ProfilingRelationshipType
TimelinePacketStatus WriteTimelineEventClassBinaryPacket(uint64_t profilingGuid, unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
void WriteUint64(const std::unique_ptr< IPacketBuffer > &packetBuffer, unsigned int offset, uint64_t value)
uint16_t GetNextUid(bool peekOnly)
void WriteUint16(const IPacketBufferPtr &packetBuffer, unsigned int offset, uint16_t value)
uint16_t ReadUint16(const IPacketBufferPtr &packetBuffer, unsigned int offset)
std::vector< std::string > m_ArgNames
std::unique_ptr< IPacketBuffer > IPacketBufferPtr
std::string GetSoftwareInfo()
TimelinePacketStatus WriteTimelineEntityBinaryPacket(uint64_t profilingGuid, unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
std::string GetProcessName()
static bool IsValidChar(unsigned char c)
std::string GetHardwareVersion()
std::vector< uint16_t > GetNextCounterUids(uint16_t firstUid, uint16_t cores)
void WriteUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset, uint8_t value)
Exception(const std::string &message)
bool ConvertDirectoryComponent(const std::string &directoryComponent, SwTraceBuffer &swTraceBuffer)
bool operator==(const armnn::DataLayout &dataLayout, const DataLayoutIndexed &indexed)
TimelinePacketStatus WriteTimelineLabelBinaryPacket(uint64_t profilingGuid, const std::string &label, unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
void WriteBytes(const IPacketBufferPtr &packetBuffer, unsigned int offset, const void *value, unsigned int valueSize)
TimelinePacketStatus WriteTimelineRelationshipBinaryPacket(ProfilingRelationshipType relationshipType, uint64_t relationshipGuid, uint64_t headGuid, uint64_t tailGuid, unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
Base class for all ArmNN exceptions so that users can filter to just those.
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)
TimelinePacketStatus WriteTimelineEventBinaryPacket(uint64_t timestamp, std::thread::id threadId, uint64_t profilingGuid, unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
void ReadBytes(const IPacketBufferPtr &packetBuffer, unsigned int offset, unsigned int valueSize, uint8_t outValue[])
bool StringToSwTraceString(const std::string &s, std::vector< uint32_t > &outputBuffer)
uint32_t ConstructHeader(uint32_t packetFamily, uint32_t packetId)
bool IsValidSwTraceString(const std::string &s)
uint8_t ReadUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset)
TimelinePacketStatus WriteTimelineMessageDirectoryPackage(unsigned char *buffer, unsigned int bufferSize, unsigned int &numberOfBytesWritten)
SwTraceMessage ReadSwTraceMessage(const unsigned char *packetBuffer, unsigned int &offset)
void WriteUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset, uint32_t value)
uint32_t CalculateSizeOfPaddedSwString(const std::string &str)
static bool IsValidChar(unsigned char c)