Use string instead of stringstream

Most of the monitor was already using string for formatted printing.
This commit is contained in:
Esa Korhonen
2018-09-26 16:47:32 +03:00
parent 07e407945b
commit 05d18e81ae
3 changed files with 25 additions and 20 deletions

View File

@ -12,15 +12,14 @@
*/ */
#include "mariadbmon.hh" #include "mariadbmon.hh"
#include <inttypes.h> #include <inttypes.h>
#include <string> #include <string>
#include <sstream>
#include <queue> #include <queue>
#include <maxscale/modutil.h> #include <maxscale/modutil.h>
#include <maxscale/mysql_utils.h> #include <maxscale/mysql_utils.h>
#include <maxscale/utils.hh> #include <maxscale/utils.hh>
using std::string; using std::string;
using maxscale::string_printf; using maxscale::string_printf;

View File

@ -14,10 +14,12 @@
#include "gtid.hh" #include "gtid.hh"
#include <algorithm> #include <algorithm>
#include <sstream> #include <inttypes.h>
#include <maxbase/assert.h> #include <maxbase/assert.h>
#include <maxscale/utils.hh>
using std::string; using std::string;
using maxscale::string_printf;
GtidList GtidList::from_string(const string& gtid_string) GtidList GtidList::from_string(const string& gtid_string)
{ {
@ -226,12 +228,12 @@ bool Gtid::eq(const Gtid& rhs) const
string Gtid::to_string() const string Gtid::to_string() const
{ {
std::stringstream ss; string rval;
if (m_server_id != SERVER_ID_UNKNOWN) 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 Gtid GtidList::get_gtid(uint32_t domain) const

View File

@ -18,7 +18,6 @@
#include <fstream> #include <fstream>
#include <inttypes.h> #include <inttypes.h>
#include <iomanip> #include <iomanip>
#include <sstream>
#include <thread> #include <thread>
#include <maxscale/mysql_utils.h> #include <maxscale/mysql_utils.h>
#include <maxscale/utils.hh> #include <maxscale/utils.hh>
@ -627,29 +626,34 @@ const char* MariaDBServer::name() const
string MariaDBServer::diagnostics() const string MariaDBServer::diagnostics() const
{ {
std::stringstream ss; // Format strings.
ss << "Server: " << name() << "\n"; const char fmt_string[] = "%-23s %s\n";
ss << "Server ID: " << m_server_id << "\n"; const char fmt_int[] = "%-23s %i\n";
ss << "Read only: " << (m_read_only ? "Yes" : "No") << "\n"; const char fmt_int64[] = "%-23s %" PRIi64 "\n";
ss << (m_slave_status.empty() ? "No slave connections \n" : "Slave connections: \n");
for (const SlaveStatus& sstatus : m_slave_status) string rval;
{ rval += string_printf(fmt_string, "Server:", name());
ss << sstatus.to_string() << "\n"; 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()) 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()) 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) 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 json_t* MariaDBServer::to_json() const