| // |
| // Copyright © 2017 Arm Ltd. All rights reserved. |
| // SPDX-License-Identifier: MIT |
| // |
| |
| #pragma once |
| |
| #include "ProfilingStateMachine.hpp" |
| #include "ProfilingConnectionFactory.hpp" |
| #include "CounterDirectory.hpp" |
| |
| namespace armnn |
| { |
| |
| namespace profiling |
| { |
| |
| class ProfilingService |
| { |
| public: |
| ProfilingService(const Runtime::CreationOptions::ExternalProfilingOptions& options); |
| ~ProfilingService() = default; |
| |
| void Run(); |
| |
| const ICounterDirectory& GetCounterDirectory() const; |
| ProfilingState GetCurrentState() const; |
| void ResetExternalProfilingOptions(const Runtime::CreationOptions::ExternalProfilingOptions& options); |
| |
| private: |
| void Initialise(); |
| |
| CounterDirectory m_CounterDirectory; |
| ProfilingConnectionFactory m_Factory; |
| Runtime::CreationOptions::ExternalProfilingOptions m_Options; |
| ProfilingStateMachine m_State; |
| }; |
| |
| } // namespace profiling |
| |
| } // namespace armnn |