ostream& operator<<(ostream& out, LogMonitor& pm)
{
- /*
- std::stringstream ss;
- for (ceph::unordered_map<int,int>::iterator p = pm.pg_map.num_pg_by_state.begin();
- p != pm.pg_map.num_pg_by_state.end();
- ++p) {
- if (p != pm.pg_map.num_pg_by_state.begin())
- ss << ", ";
- ss << p->second << " " << pg_state_string(p->first);
- }
- string states = ss.str();
- return out << "v" << pm.pg_map.version << ": "
- << pm.pg_map.pg_stat.size() << " pgs: "
- << states << "; "
- << kb_t(pm.pg_map.total_pg_kb()) << " data, "
- << kb_t(pm.pg_map.total_used_kb()) << " used, "
- << kb_t(pm.pg_map.total_avail_kb()) << " / "
- << kb_t(pm.pg_map.total_kb()) << " free";
- */
return out << "log";
}
check_subs();
}
-void LogMonitor::store_do_append(MonitorDBStore::TransactionRef t,
- const string& key, bufferlist& bl)
-{
- bufferlist existing_bl;
- int err = get_value(key, existing_bl);
- assert(err == 0);
-
- existing_bl.append(bl);
- put_value(t, key, existing_bl);
-}
-
void LogMonitor::create_pending()
{
pending_log.clear();
bool _create_sub_summary(MLog *mlog, int level);
void _create_sub_incremental(MLog *mlog, int level, version_t sv);
- void store_do_append(MonitorDBStore::TransactionRef t,
- const string& key, bufferlist& bl);
-
public:
LogMonitor(Monitor *mn, Paxos *p, const string& service_name)
: PaxosService(mn, p, service_name) { }