aboutsummaryrefslogtreecommitdiff
path: root/profiling/client/include/Holder.hpp
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2022-03-20 21:52:17 +0000
committerJim Flynn <jim.flynn@arm.com>2022-03-23 20:32:03 +0000
commit277618302d0f131eac0b6ac2015dd3eb09aa6ff9 (patch)
treee468fa1362640484b508812596fb5c1b62186882 /profiling/client/include/Holder.hpp
parenta3bc0b4976395226c0fa0898b26098c4534edbdb (diff)
downloadarmnn-277618302d0f131eac0b6ac2015dd3eb09aa6ff9.tar.gz
IVGCVSW-6706 Move headers to profiling/client/include
!android-nn-driver:7337 Change-Id: Ide401623829cc99fb9b51e9bbce3482ce706a8dd Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'profiling/client/include/Holder.hpp')
-rw-r--r--profiling/client/include/Holder.hpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/profiling/client/include/Holder.hpp b/profiling/client/include/Holder.hpp
new file mode 100644
index 0000000000..db5468feda
--- /dev/null
+++ b/profiling/client/include/Holder.hpp
@@ -0,0 +1,67 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <mutex>
+#include <vector>
+#include <set>
+
+namespace arm
+{
+
+namespace pipe
+{
+
+class CaptureData
+{
+public:
+ CaptureData()
+ : m_CapturePeriod(0)
+ , m_CounterIds()
+ , m_ActiveBackends(){}
+ CaptureData(uint32_t capturePeriod, std::vector<uint16_t>& counterIds, std::set<std::string> activeBackends)
+ : m_CapturePeriod(capturePeriod)
+ , m_CounterIds(counterIds)
+ , m_ActiveBackends(activeBackends){}
+ CaptureData(const CaptureData& captureData)
+ : m_CapturePeriod(captureData.m_CapturePeriod)
+ , m_CounterIds(captureData.m_CounterIds)
+ , m_ActiveBackends(captureData.m_ActiveBackends){}
+
+ CaptureData& operator=(const CaptureData& other);
+
+ void SetActiveBackends(const std::set<std::string>& activeBackends);
+ void SetCapturePeriod(uint32_t capturePeriod);
+ void SetCounterIds(const std::vector<uint16_t>& counterIds);
+ uint32_t GetCapturePeriod() const;
+ const std::vector<uint16_t>& GetCounterIds() const;
+ const std::set<std::string>& GetActiveBackends() const;
+ bool IsCounterIdInCaptureData(uint16_t counterId);
+
+private:
+ uint32_t m_CapturePeriod;
+ std::vector<uint16_t> m_CounterIds;
+ std::set<std::string> m_ActiveBackends;
+};
+
+class Holder
+{
+public:
+ Holder()
+ : m_CaptureData() {}
+ CaptureData GetCaptureData() const;
+ void SetCaptureData(uint32_t capturePeriod,
+ const std::vector<uint16_t>& counterIds,
+ const std::set<std::string>& activeBackends);
+
+private:
+ mutable std::mutex m_CaptureThreadMutex;
+ CaptureData m_CaptureData;
+};
+
+} // namespace pipe
+
+} // namespace arm