geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
EndpointPolicyTracerImp.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 - 2024 Intel Corporation
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef ENDPOINTPOLICYTRACERIMP_HPP_INCLUDE
7 #define ENDPOINTPOLICYTRACERIMP_HPP_INCLUDE
8 
9 #include <string>
10 
11 #include "EndpointPolicyTracer.hpp"
12 
13 namespace geopm
14 {
15 
16  class CSV;
17  class PlatformIO;
18 
20  {
21  public:
23  EndpointPolicyTracerImp(size_t buffer_size,
24  bool is_trace_enabled,
25  const std::string &file_name,
26  PlatformIO &platform_io,
27  const std::vector<std::string> &policy_names);
28  virtual ~EndpointPolicyTracerImp();
29  void update(const std::vector<double> &policy);
30  private:
31  bool m_is_trace_enabled;
32  std::unique_ptr<CSV> m_csv;
33  PlatformIO &m_platform_io;
34  int m_time_signal;
35  std::vector<double> m_values;
36  int m_num_policy;
37  };
38 }
39 
40 #endif
Definition: EndpointPolicyTracer.hpp:15
Definition: EndpointPolicyTracerImp.hpp:20
EndpointPolicyTracerImp()
Definition: EndpointPolicyTracer.cpp:28
virtual ~EndpointPolicyTracerImp()
Definition: EndpointPolicyTracer.cpp:70
void update(const std::vector< double > &policy)
Definition: EndpointPolicyTracer.cpp:75
Definition: Accumulator.cpp:12