plugin  0.1.0
cpu_monitor.h
1 // Copyright (C) 2019-2024 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #pragma once
6 
7 #include <deque>
8 #include <memory>
9 #include <vector>
10 
11 class CpuMonitor {
12 public:
13  CpuMonitor();
14  ~CpuMonitor();
15  void setHistorySize(std::size_t size);
16  std::size_t getHistorySize() const;
17  void collectData();
18  std::deque<std::vector<double>> getLastHistory() const;
19  std::vector<double> getMeanCpuLoad() const;
20 
21 private:
22  unsigned samplesNumber;
23  unsigned historySize;
24  std::vector<double> cpuLoadSum;
25  std::deque<std::vector<double>> cpuLoadHistory;
26  class PerformanceCounter;
27  std::unique_ptr<PerformanceCounter> performanceCounter;
28 };
Definition: cpu_monitor.cpp:152
Definition: cpu_monitor.h:11