geopm
3.1.0
GEOPM - Global Extensible Open Power Manager
|
#include <PolicyStore.hpp>
Public Member Functions | |
PolicyStore ()=default | |
virtual | ~PolicyStore ()=default |
virtual std::vector< double > | get_best (const std::string &agent_name, const std::string &profile_name) const =0 |
Get the best known policy for a given agent/profile pair. More... | |
virtual void | set_best (const std::string &agent_name, const std::string &profile_name, const std::vector< double > &policy)=0 |
Set the record for the best policy for a profile with an agent. More... | |
virtual void | set_default (const std::string &agent_name, const std::vector< double > &policy)=0 |
Set the default policy to use with an agent. More... | |
Static Public Member Functions | |
static std::unique_ptr< PolicyStore > | make_unique (const std::string &data_path) |
Returns a unique_ptr to a concrete object constructed using the underlying implementation. More... | |
static std::shared_ptr< PolicyStore > | make_shared (const std::string &data_path) |
Returns a shared_ptr to a concrete object constructed using the underlying implementation. More... | |
Manages a data store of best known policies for profiles used with agents. The data store includes records of best known policies and default policies to apply when a best run has not yet been recorded.
|
default |
|
virtualdefault |
|
pure virtual |
Get the best known policy for a given agent/profile pair.
Returns the best known policy from the data store. If no best policy is known, the default policy for the agent is returned. An exception is thrown if no default exists, or if any data store errors occur.
[in] | agent_name | Name of the agent to look up |
[in] | profile_name | Name of the profile to look up |
Implemented in geopm::PolicyStoreImp.
|
static |
Returns a shared_ptr to a concrete object constructed using the underlying implementation.
|
static |
Returns a unique_ptr to a concrete object constructed using the underlying implementation.
|
pure virtual |
Set the record for the best policy for a profile with an agent.
Creates or overwrites the best-known policy for a profile when used with the given agent.
[in] | agent_name | Name of the agent for which this policy applies. |
[in] | profile_name | Name of the profile whose policy is being set. |
[in] | policy | Policy string to use with the given agent. |
Implemented in geopm::PolicyStoreImp.
|
pure virtual |
Set the default policy to use with an agent.
[in] | agent_name | Name of the agent for which this policy applies. |
[in] | policy | Policy string to use with the given agent. |
Implemented in geopm::PolicyStoreImp.