diff options
Diffstat (limited to 'src/profiling/Counter.hpp')
-rw-r--r-- | src/profiling/Counter.hpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/profiling/Counter.hpp b/src/profiling/Counter.hpp new file mode 100644 index 0000000000..ff96d257e7 --- /dev/null +++ b/src/profiling/Counter.hpp @@ -0,0 +1,62 @@ +// +// Copyright © 2022 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include <string> + +namespace arm +{ + +namespace pipe +{ + +class Counter final +{ +public: + // Constructors + Counter(const std::string& backendId, + uint16_t counterUid, + uint16_t maxCounterUid, + uint16_t counterClass, + uint16_t interpolation, + double multiplier, + const std::string& name, + const std::string& description, + const std::string& units, + uint16_t deviceUid, + uint16_t counterSetUid) + : m_BackendId(backendId) + , m_Uid(counterUid) + , m_MaxCounterUid(maxCounterUid) + , m_Class(counterClass) + , m_Interpolation(interpolation) + , m_Multiplier(multiplier) + , m_Name(name) + , m_Description(description) + , m_Units(units) + , m_DeviceUid(deviceUid) + , m_CounterSetUid(counterSetUid) + {} + + // Fields + std::string m_BackendId; + uint16_t m_Uid; + uint16_t m_MaxCounterUid; + uint16_t m_Class; + uint16_t m_Interpolation; + double m_Multiplier; + std::string m_Name; + std::string m_Description; + std::string m_Units; // Optional, leave empty if the counter does not need units + + // Connections + uint16_t m_DeviceUid; // Optional, set to zero if the counter is not associated with a device + uint16_t m_CounterSetUid; // Optional, set to zero if the counter is not associated with a counter set +}; + +} // namespace pipe + +} // namespace arm |