aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/SendCounterPacket.hpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-09-05 12:02:04 +0100
committerJim Flynn Arm <jim.flynn@arm.com>2019-09-18 16:24:39 +0000
commit42f9d9e8fdb15f418240a64a7b089df611a015a0 (patch)
tree7fa74bb038d1b58f45789fe533ba6a422e2bd6df /src/profiling/SendCounterPacket.hpp
parent8355ec982eb3ff51a6a8042fe760138638ca550b (diff)
downloadarmnn-42f9d9e8fdb15f418240a64a7b089df611a015a0.tar.gz
IVGCVSW-3691 Implement SendCounterPacket.SendCounterDirectoryPacket() function
* Changed the signature of SendCounterDirectoryPacket to accept any ICounterDirectory object * Added helper methods to the SendCounterPacket class for creating the records * Created mock classes for testing * Added unit tests for both SendCounterDirectoryPacket and the helper methods * Added unit tests for the SWTrace utility functions * Added ReadUint8 utility function for getting single byte out of a buffer * Disabled extra sign-conversion warning in the conversion macro Change-Id: Ie2dddcd6824ed07b623f0cd78d9b7d05c5b70c39 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/profiling/SendCounterPacket.hpp')
-rw-r--r--src/profiling/SendCounterPacket.hpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/profiling/SendCounterPacket.hpp b/src/profiling/SendCounterPacket.hpp
index 3238b351a3..2a2d5d4313 100644
--- a/src/profiling/SendCounterPacket.hpp
+++ b/src/profiling/SendCounterPacket.hpp
@@ -18,6 +18,11 @@ namespace profiling
class SendCounterPacket : public ISendCounterPacket
{
public:
+ using CategoryRecord = std::vector<uint32_t>;
+ using DeviceRecord = std::vector<uint32_t>;
+ using CounterSetRecord = std::vector<uint32_t>;
+ using EventRecord = std::vector<uint32_t>;
+
using IndexValuePairsVector = std::vector<std::pair<uint16_t, uint32_t>>;
SendCounterPacket(IBufferWrapper& buffer)
@@ -27,7 +32,7 @@ public:
void SendStreamMetaDataPacket() override;
- void SendCounterDirectoryPacket(const CounterDirectory& counterDirectory) override;
+ void SendCounterDirectoryPacket(const ICounterDirectory& counterDirectory) override;
void SendPeriodicCounterCapturePacket(uint64_t timestamp, const IndexValuePairsVector& values) override;
@@ -52,6 +57,22 @@ private:
IBufferWrapper& m_Buffer;
bool m_ReadyToRead;
+
+protected:
+ // Helper methods, protected for testing
+ bool CreateCategoryRecord(const CategoryPtr& category,
+ const Counters& counters,
+ CategoryRecord& categoryRecord,
+ std::string& errorMessage);
+ bool CreateDeviceRecord(const DevicePtr& device,
+ DeviceRecord& deviceRecord,
+ std::string& errorMessage);
+ bool CreateCounterSetRecord(const CounterSetPtr& counterSet,
+ CounterSetRecord& counterSetRecord,
+ std::string& errorMessage);
+ bool CreateEventRecord(const CounterPtr& counter,
+ EventRecord& eventRecord,
+ std::string& errorMessage);
};
} // namespace profiling