13 #include <type_traits> 31 : m_BufferManager(buffer)
41 const std::vector<uint16_t>& selectedCounterIds)
override;
46 template <
typename ExceptionType>
47 void CancelOperationAndThrow(
const std::string& errorMessage)
50 throw ExceptionType(errorMessage);
53 template <
typename ExceptionType>
54 void CancelOperationAndThrow(
IPacketBufferPtr& writerBuffer,
const std::string& errorMessage)
56 if (std::is_same<ExceptionType, armnn::profiling::BufferExhaustion>::value)
61 if (writerBuffer !=
nullptr)
64 m_BufferManager.
Release(writerBuffer);
68 throw ExceptionType(errorMessage);
78 std::string& errorMessage);
81 std::string& errorMessage);
84 std::string& errorMessage);
87 std::string& errorMessage);
std::vector< uint32_t > CounterSetRecord
std::vector< CounterValue > IndexValuePairsVector
std::vector< uint32_t > DeviceRecord
bool CreateDeviceRecord(const DevicePtr &device, DeviceRecord &deviceRecord, std::string &errorMessage)
void SendCounterDirectoryPacket(const ICounterDirectory &counterDirectory) override
Create and write a CounterDirectoryPacket from the parameters to the buffer.
std::unordered_map< uint16_t, CounterPtr > Counters
std::unique_ptr< Device > DevicePtr
void SendStreamMetaDataPacket() override
Create and write a StreamMetaDataPacket in the buffer.
std::unique_ptr< CounterSet > CounterSetPtr
Copyright (c) 2020 ARM Limited.
std::vector< uint32_t > EventRecord
std::shared_ptr< Counter > CounterPtr
void SendPeriodicCounterCapturePacket(uint64_t timestamp, const IndexValuePairsVector &values) override
Create and write a PeriodicCounterCapturePacket from the parameters to the buffer.
bool CreateCounterSetRecord(const CounterSetPtr &counterSet, CounterSetRecord &counterSetRecord, std::string &errorMessage)
virtual void Release(IPacketBufferPtr &packetBuffer)=0
SendCounterPacket(IBufferManager &buffer)
void SendPeriodicCounterSelectionPacket(uint32_t capturePeriod, const std::vector< uint16_t > &selectedCounterIds) override
Create and write a PeriodicCounterSelectionPacket from the parameters to the buffer.
std::vector< uint32_t > CategoryRecord
virtual void FlushReadList()=0
std::unique_ptr< Category > CategoryPtr
static const unsigned int PIPE_MAGIC
bool CreateEventRecord(const CounterPtr &counter, EventRecord &eventRecord, std::string &errorMessage)
std::unique_ptr< IPacketBuffer > IPacketBufferPtr
bool CreateCategoryRecord(const CategoryPtr &category, const Counters &counters, CategoryRecord &categoryRecord, std::string &errorMessage)