geopm  3.1.1.dev214+gba4f9f6d
GEOPM - Global Extensible Open Power Manager
ProxyEpochRecordFilter.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 PROXYEPOCHRECORDFILTER_HPP_INCLUDE
7 #define PROXYEPOCHRECORDFILTER_HPP_INCLUDE
8 
9 #include "RecordFilter.hpp"
10 
11 namespace geopm
12 {
13  struct record_s;
14 
41  {
42  public:
57  ProxyEpochRecordFilter(uint64_t region_hash,
58  int calls_per_epoch,
59  int startup_count);
60  ProxyEpochRecordFilter(const std::string &filter_name);
62  virtual ~ProxyEpochRecordFilter() = default;
72  std::vector<record_s> filter(const record_s &record);
98  static void parse_name(const std::string &name,
99  uint64_t &region_hash,
100  int &calls_per_epoch,
101  int &startup_count);
102 
103  private:
104  uint64_t m_proxy_hash;
105  int m_num_per_epoch;
106  int m_count;
107  };
108 }
109 
110 #endif
Filter that can be used to synthesize epoch events from a sequence of region entry events....
Definition: ProxyEpochRecordFilter.hpp:41
static void parse_name(const std::string &name, uint64_t &region_hash, int &calls_per_epoch, int &startup_count)
Static function that will parse the filter string for the proxy_epoch into the constructor arguments ...
Definition: ProxyEpochRecordFilter.cpp:61
virtual ~ProxyEpochRecordFilter()=default
Default destructor.
ProxyEpochRecordFilter(uint64_t region_hash, int calls_per_epoch, int startup_count)
Constructor for a process specific proxy-region EpochIOGroup record filter.
Definition: ProxyEpochRecordFilter.cpp:107
std::vector< record_s > filter(const record_s &record)
If input record matches the periodic entry into the proxy-region matching the construction arguments,...
Definition: ProxyEpochRecordFilter.cpp:129
Base class for filters that can be applied to ApplicationSampler record streams produced by a single ...
Definition: RecordFilter.hpp:19
Definition: Accumulator.cpp:12
Record of an application event.
Definition: record.hpp:61