geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
ProfileTracer.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 PROFILETRACER_HPP_INCLUDE
7 #define PROFILETRACER_HPP_INCLUDE
8 
9 #include <vector>
10 #include <utility>
11 #include <fstream>
12 #include <memory>
13 
14 struct geopm_prof_message_s;
15 
16 namespace geopm
17 {
18  class CSV;
19  struct record_s;
20 
22  {
23  public:
24  static std::unique_ptr<ProfileTracer> make_unique(const std::string &start_time);
25  virtual ~ProfileTracer() = default;
26  virtual void update(const std::vector<record_s> &records) = 0;
27  };
28 }
29 
30 #endif
Definition: ProfileTracer.hpp:22
virtual ~ProfileTracer()=default
static std::unique_ptr< ProfileTracer > make_unique(const std::string &start_time)
Definition: ProfileTracer.cpp:134
virtual void update(const std::vector< record_s > &records)=0
Definition: Accumulator.cpp:12