MXS-2556 Add persist_performance_data arg to smartrouter
This commit is contained in:
@ -19,7 +19,7 @@
|
|||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
namespace smartquery
|
namespace smartrouter
|
||||||
{
|
{
|
||||||
|
|
||||||
config::Specification specification(MXS_MODULE_NAME, config::Specification::ROUTER);
|
config::Specification specification(MXS_MODULE_NAME, config::Specification::ROUTER);
|
||||||
@ -29,6 +29,13 @@ master(&specification,
|
|||||||
"master",
|
"master",
|
||||||
"The server/cluster to be treated as master, that is, the one where updates are sent.");
|
"The server/cluster to be treated as master, that is, the one where updates are sent.");
|
||||||
|
|
||||||
|
config::ParamBool
|
||||||
|
persist_performance_data(&specification,
|
||||||
|
"persist_performance_data",
|
||||||
|
"Persist performance data so that the smartrouter can use information "
|
||||||
|
"collected during earlier runs.",
|
||||||
|
true); // Default value
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -66,19 +73,20 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SmartRouter::Config::Config(const std::string& name)
|
SmartRouter::Config::Config(const std::string& name)
|
||||||
: config::Configuration(name, &smartquery::specification)
|
: config::Configuration(name, &smartrouter::specification)
|
||||||
, m_master(this, &smartquery::master)
|
, m_master(this, &smartrouter::master)
|
||||||
|
, m_persist_performance_data(this, &smartrouter::persist_performance_data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SmartRouter::Config::populate(MXS_MODULE& module)
|
void SmartRouter::Config::populate(MXS_MODULE& module)
|
||||||
{
|
{
|
||||||
smartquery::specification.populate(module);
|
smartrouter::specification.populate(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SmartRouter::Config::configure(const MXS_CONFIG_PARAMETER& params)
|
bool SmartRouter::Config::configure(const MXS_CONFIG_PARAMETER& params)
|
||||||
{
|
{
|
||||||
return smartquery::specification.configure(*this, params);
|
return smartrouter::specification.configure(*this, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SmartRouter::Config::post_configure(const MXS_CONFIG_PARAMETER& params)
|
bool SmartRouter::Config::post_configure(const MXS_CONFIG_PARAMETER& params)
|
||||||
@ -134,7 +142,7 @@ bool SmartRouter::Config::post_configure(const MXS_CONFIG_PARAMETER& params)
|
|||||||
|
|
||||||
bool SmartRouter::configure(MXS_CONFIG_PARAMETER* pParams)
|
bool SmartRouter::configure(MXS_CONFIG_PARAMETER* pParams)
|
||||||
{
|
{
|
||||||
if (!smartquery::specification.validate(*pParams))
|
if (!smartrouter::specification.validate(*pParams))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -46,11 +46,17 @@ public:
|
|||||||
return m_master.get();
|
return m_master.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool persist_performance_data() const
|
||||||
|
{
|
||||||
|
return static_cast<bool>(m_persist_performance_data);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool post_configure(const MXS_CONFIG_PARAMETER& params) override;
|
bool post_configure(const MXS_CONFIG_PARAMETER& params) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
config::Server m_master;
|
config::Server m_master;
|
||||||
|
config::Bool m_persist_performance_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
static SmartRouter* create(SERVICE* pService, MXS_CONFIG_PARAMETER* pParams);
|
static SmartRouter* create(SERVICE* pService, MXS_CONFIG_PARAMETER* pParams);
|
||||||
|
Reference in New Issue
Block a user