// // Copyright © 2019 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include namespace armnn { namespace gatordmock { struct CounterCaptureValues { uint64_t m_Timestamp; std::vector m_Uids; std::vector m_Values; }; class PeriodicCounterCaptureCommandHandler : public profiling::CommandHandlerFunctor { public: PeriodicCounterCaptureCommandHandler(uint32_t packetId, uint32_t version, bool echoPackets) : CommandHandlerFunctor(packetId, version) , m_EchoPackets(echoPackets) {} void operator()(const armnn::profiling::Packet& packet) override; CounterCaptureValues m_CounterCaptureValues; uint64_t m_CurrentPeriodValue = 0; private: void ParseData(const armnn::profiling::Packet& packet); uint64_t m_FirstTimestamp = 0, m_SecondTimestamp = 0; bool m_HeaderPrinted = false; bool m_EchoPackets; }; } // namespace gatordmock } // namespace armnn