diff --git a/server/modules/monitor/mariadbmon/cluster_discovery.cc b/server/modules/monitor/mariadbmon/cluster_discovery.cc index a83af771b..97d270933 100644 --- a/server/modules/monitor/mariadbmon/cluster_discovery.cc +++ b/server/modules/monitor/mariadbmon/cluster_discovery.cc @@ -12,15 +12,14 @@ */ #include "mariadbmon.hh" + #include #include -#include #include #include #include #include - using std::string; using maxscale::string_printf; diff --git a/server/modules/monitor/mariadbmon/gtid.cc b/server/modules/monitor/mariadbmon/gtid.cc index bcf700076..cc81cdbe2 100644 --- a/server/modules/monitor/mariadbmon/gtid.cc +++ b/server/modules/monitor/mariadbmon/gtid.cc @@ -14,10 +14,12 @@ #include "gtid.hh" #include -#include +#include #include +#include using std::string; +using maxscale::string_printf; GtidList GtidList::from_string(const string& gtid_string) { @@ -226,12 +228,12 @@ bool Gtid::eq(const Gtid& rhs) const string Gtid::to_string() const { - std::stringstream ss; + string rval; if (m_server_id != SERVER_ID_UNKNOWN) { - ss << m_domain << "-" << m_server_id << "-" << m_sequence; + rval += string_printf("%" PRIu32 "-%" PRIi64 "-%" PRIu64, m_domain, m_server_id, m_sequence); } - return ss.str(); + return rval; } Gtid GtidList::get_gtid(uint32_t domain) const diff --git a/server/modules/monitor/mariadbmon/mariadbserver.cc b/server/modules/monitor/mariadbmon/mariadbserver.cc index 7c6612254..8d82bfa60 100644 --- a/server/modules/monitor/mariadbmon/mariadbserver.cc +++ b/server/modules/monitor/mariadbmon/mariadbserver.cc @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -627,29 +626,34 @@ const char* MariaDBServer::name() const string MariaDBServer::diagnostics() const { - std::stringstream ss; - ss << "Server: " << name() << "\n"; - ss << "Server ID: " << m_server_id << "\n"; - ss << "Read only: " << (m_read_only ? "Yes" : "No") << "\n"; - ss << (m_slave_status.empty() ? "No slave connections \n" : "Slave connections: \n"); + // Format strings. + const char fmt_string[] = "%-23s %s\n"; + const char fmt_int[] = "%-23s %i\n"; + const char fmt_int64[] = "%-23s %" PRIi64 "\n"; - for (const SlaveStatus& sstatus : m_slave_status) - { - ss << sstatus.to_string() << "\n"; - } + string rval; + rval += string_printf(fmt_string, "Server:", name()); + rval += string_printf(fmt_int64, "Server ID:", m_server_id); + rval += string_printf(fmt_string, "Read only:", (m_read_only ? "Yes" : "No")); if (!m_gtid_current_pos.empty()) { - ss << "Gtid current position: " << m_gtid_current_pos.to_string() << "\n"; + rval += string_printf(fmt_string, "Gtid current position:", m_gtid_current_pos.to_string().c_str()); } if (!m_gtid_binlog_pos.empty()) { - ss << "Gtid binlog position: " << m_gtid_binlog_pos.to_string() << "\n"; + rval += string_printf(fmt_string, "Gtid binlog position:", m_gtid_binlog_pos.to_string().c_str()); } if (m_node.cycle != NodeData::CYCLE_NONE) { - ss << "Master group: " << m_node.cycle << "\n"; + rval += string_printf(fmt_int, "Master group:", m_node.cycle); } - return ss.str(); + + rval += (m_slave_status.empty() ? "No slave connections\n" : "Slave connections:\n"); + for (const SlaveStatus& sstatus : m_slave_status) + { + rval += sstatus.to_string() + "\n"; + } + return rval; } json_t* MariaDBServer::to_json() const