geopm  3.1.1.dev214+gba4f9f6d
GEOPM - Global Extensible Open Power Manager
Public Member Functions | Static Public Member Functions | List of all members
geopm::RecordFilter Class Referenceabstract

Base class for filters that can be applied to ApplicationSampler record streams produced by a single process. More...

#include <RecordFilter.hpp>

Inheritance diagram for geopm::RecordFilter:
Inheritance graph
[legend]

Public Member Functions

 RecordFilter ()=default
 Default constructor for pure virtual interface. More...
 
virtual ~RecordFilter ()=default
 Default destructor for pure virtual interface. More...
 
virtual std::vector< record_sfilter (const record_s &record)=0
 Apply a filter to a stream of records. More...
 

Static Public Member Functions

static std::unique_ptr< RecordFiltermake_unique (const std::string &name)
 

Detailed Description

Base class for filters that can be applied to ApplicationSampler record streams produced by a single process.

Constructor & Destructor Documentation

◆ RecordFilter()

geopm::RecordFilter::RecordFilter ( )
default

Default constructor for pure virtual interface.

◆ ~RecordFilter()

virtual geopm::RecordFilter::~RecordFilter ( )
virtualdefault

Default destructor for pure virtual interface.

Member Function Documentation

◆ filter()

virtual std::vector<record_s> geopm::RecordFilter::filter ( const record_s record)
pure virtual

Apply a filter to a stream of records.

This method is called repeatedly by a user to update a filtered time stream with a new record. The input record is used to update the state of the filter and the method returns a vector containing any filtered values resulting from the update.

Parameters
[in]recordThe update value to be filtered.
Returns
Vector of zero or more records to update the filtered stream.

Implemented in geopm::EditDistEpochRecordFilter, and geopm::ProxyEpochRecordFilter.

◆ make_unique()

std::unique_ptr< RecordFilter > geopm::RecordFilter::make_unique ( const std::string &  name)
static

The documentation for this class was generated from the following files: