1 // 2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "CounterIdMap.hpp" 9 #include "Holder.hpp" 10 #include "IProfilingServiceStatus.hpp" 11 #include "ISendCounterPacket.hpp" 12 #include "ProfilingGuidGenerator.hpp" 13 14 namespace armnn 15 { 16 17 namespace profiling 18 { 19 20 class IProfilingService : public IProfilingGuidGenerator, public IProfilingServiceStatus 21 { 22 public: ~IProfilingService()23 virtual ~IProfilingService() {}; 24 virtual std::unique_ptr<ISendTimelinePacket> GetSendTimelinePacket() const = 0; 25 virtual const ICounterMappings& GetCounterMappings() const = 0; 26 virtual ISendCounterPacket& GetSendCounterPacket() = 0; 27 virtual bool IsProfilingEnabled() const = 0; 28 virtual CaptureData GetCaptureData() = 0; 29 }; 30 31 } // namespace profiling 32 33 } // namespace armnn 34 35