]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: services: mark events
authorJoao Eduardo Luis <joao@suse.de>
Wed, 17 Jun 2015 11:57:08 +0000 (12:57 +0100)
committerJoao Eduardo Luis <joao@suse.de>
Thu, 16 Jul 2015 17:06:08 +0000 (18:06 +0100)
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
src/mon/DataHealthService.cc
src/mon/Elector.cc
src/mon/LogMonitor.cc
src/mon/MDSMonitor.cc
src/mon/OSDMonitor.cc
src/mon/PGMonitor.cc

index 47bf71dc4f6fbb0e7f4090c00648848378ae0adb..3056a5edc8f3cd29ad0db775f63266a12eb58097 100644 (file)
@@ -232,6 +232,7 @@ void DataHealthService::service_tick()
 
 void DataHealthService::handle_tell(MonOpRequestRef op)
 {
+  op->mark_event("datahealth:handle_tell");
   MMonHealth *m = static_cast<MMonHealth*>(op->get_req());
   dout(10) << __func__ << " " << *m << dendl;
   assert(m->get_service_op() == MMonHealth::OP_TELL);
@@ -241,6 +242,7 @@ void DataHealthService::handle_tell(MonOpRequestRef op)
 
 bool DataHealthService::service_dispatch_op(MonOpRequestRef op)
 {
+  op->mark_event("datahealth:service_dispatch_op");
   MMonHealth *m = static_cast<MMonHealth*>(op->get_req());
   dout(10) << __func__ << " " << *m << dendl;
   assert(m->get_service_type() == get_type());
index 2b88626ffbc66c9c6fa5fabcb09a77762b80f6d9..754e247928cb6e20376123012d939df4d010f62c 100644 (file)
@@ -209,6 +209,7 @@ void Elector::victory()
 
 void Elector::handle_propose(MonOpRequestRef op)
 {
+  op->mark_event("elector:handle_propose");
   MMonElection *m = static_cast<MMonElection*>(op->get_req());
   dout(5) << "handle_propose from " << m->get_source() << dendl;
   int from = m->get_source().num();
@@ -267,6 +268,7 @@ void Elector::handle_propose(MonOpRequestRef op)
  
 void Elector::handle_ack(MonOpRequestRef op)
 {
+  op->mark_event("elector:handle_ack");
   MMonElection *m = static_cast<MMonElection*>(op->get_req());
   dout(5) << "handle_ack from " << m->get_source() << dendl;
   int from = m->get_source().num();
@@ -308,6 +310,7 @@ void Elector::handle_ack(MonOpRequestRef op)
 
 void Elector::handle_victory(MonOpRequestRef op)
 {
+  op->mark_event("elector:handle_victory");
   MMonElection *m = static_cast<MMonElection*>(op->get_req());
   dout(5) << "handle_victory from " << m->get_source() << " quorum_features " << m->quorum_features << dendl;
   int from = m->get_source().num();
@@ -350,6 +353,7 @@ void Elector::handle_victory(MonOpRequestRef op)
 
 void Elector::nak_old_peer(MonOpRequestRef op)
 {
+  op->mark_event("elector:nak_old_peer");
   MMonElection *m = static_cast<MMonElection*>(op->get_req());
   uint64_t supported_features = m->get_connection()->get_features();
 
@@ -369,6 +373,7 @@ void Elector::nak_old_peer(MonOpRequestRef op)
 
 void Elector::handle_nak(MonOpRequestRef op)
 {
+  op->mark_event("elector:handle_nak");
   MMonElection *m = static_cast<MMonElection*>(op->get_req());
   dout(1) << "handle_nak from " << m->get_source()
          << " quorum_features " << m->quorum_features << dendl;
@@ -387,6 +392,7 @@ void Elector::handle_nak(MonOpRequestRef op)
 
 void Elector::dispatch(MonOpRequestRef op)
 {
+  op->mark_event("elector:dispatch");
   switch (op->get_req()->get_type()) {
     
   case MSG_MON_ELECTION:
index 2d2c48d91d586268bf492b8819dfe946504c63ca..53be8f6a55dde495f3fdc209649ef8957488c7bb 100644 (file)
@@ -266,6 +266,7 @@ version_t LogMonitor::get_trim_to()
 
 bool LogMonitor::preprocess_query(MonOpRequestRef op)
 {
+  op->mark_logmon_event("preprocess_query");
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "preprocess_query " << *m << " from " << m->get_orig_source_inst() << dendl;
   switch (m->get_type()) {
@@ -283,6 +284,7 @@ bool LogMonitor::preprocess_query(MonOpRequestRef op)
 
 bool LogMonitor::prepare_update(MonOpRequestRef op)
 {
+  op->mark_logmon_event("prepare_update");
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "prepare_update " << *m << " from " << m->get_orig_source_inst() << dendl;
   switch (m->get_type()) {
@@ -298,6 +300,7 @@ bool LogMonitor::prepare_update(MonOpRequestRef op)
 
 bool LogMonitor::preprocess_log(MonOpRequestRef op)
 {
+  op->mark_logmon_event("preprocess_log");
   MLog *m = static_cast<MLog*>(op->get_req());
   dout(10) << "preprocess_log " << *m << " from " << m->get_orig_source() << dendl;
   int num_new = 0;
@@ -330,6 +333,7 @@ bool LogMonitor::preprocess_log(MonOpRequestRef op)
 
 bool LogMonitor::prepare_log(MonOpRequestRef op) 
 {
+  op->mark_logmon_event("prepare_log");
   MLog *m = static_cast<MLog*>(op->get_req());
   dout(10) << "prepare_log " << *m << " from " << m->get_orig_source() << dendl;
 
@@ -373,6 +377,7 @@ bool LogMonitor::should_propose(double& delay)
 
 bool LogMonitor::preprocess_command(MonOpRequestRef op)
 {
+  op->mark_logmon_event("preprocess_command");
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = -1;
   bufferlist rdata;
@@ -390,6 +395,7 @@ bool LogMonitor::preprocess_command(MonOpRequestRef op)
 
 bool LogMonitor::prepare_command(MonOpRequestRef op)
 {
+  op->mark_logmon_event("prepare_command");
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   stringstream ss;
   string rs;
index 68bd912a47fba387e456b7ade713d613205d9bbf..87d463bbead8afae37e9bdebbe8047a8796a8af0 100644 (file)
@@ -214,6 +214,7 @@ void MDSMonitor::update_logger()
 
 bool MDSMonitor::preprocess_query(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "preprocess_query " << *m << " from " << m->get_orig_source_inst() << dendl;
 
@@ -246,6 +247,7 @@ void MDSMonitor::_note_beacon(MMDSBeacon *m)
 
 bool MDSMonitor::preprocess_beacon(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMDSBeacon *m = static_cast<MMDSBeacon*>(op->get_req());
   MDSMap::DaemonState state = m->get_state();
   mds_gid_t gid = m->get_global_id();
@@ -374,6 +376,7 @@ bool MDSMonitor::preprocess_beacon(MonOpRequestRef op)
 
 bool MDSMonitor::preprocess_offload_targets(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMDSLoadTargets *m = static_cast<MMDSLoadTargets*>(op->get_req());
   dout(10) << "preprocess_offload_targets " << *m << " from " << m->get_orig_source() << dendl;
   mds_gid_t gid;
@@ -402,6 +405,7 @@ bool MDSMonitor::preprocess_offload_targets(MonOpRequestRef op)
 
 bool MDSMonitor::prepare_update(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(7) << "prepare_update " << *m << dendl;
 
@@ -427,6 +431,7 @@ bool MDSMonitor::prepare_update(MonOpRequestRef op)
 
 bool MDSMonitor::prepare_beacon(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMDSBeacon *m = static_cast<MMDSBeacon*>(op->get_req());
   // -- this is an update --
   dout(12) << "prepare_beacon " << *m << " from " << m->get_orig_source_inst() << dendl;
@@ -618,6 +623,7 @@ bool MDSMonitor::prepare_beacon(MonOpRequestRef op)
 
 bool MDSMonitor::prepare_offload_targets(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMDSLoadTargets *m = static_cast<MMDSLoadTargets*>(op->get_req());
   mds_gid_t gid = m->global_id;
   if (pending_mdsmap.mds_info.count(gid)) {
@@ -637,6 +643,7 @@ bool MDSMonitor::should_propose(double& delay)
 
 void MDSMonitor::_updated(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMDSBeacon *m = static_cast<MMDSBeacon*>(op->get_req());
   dout(10) << "_updated " << m->get_orig_source() << " " << *m << dendl;
   mon->clog->info() << m->get_orig_source_inst() << " "
@@ -724,6 +731,7 @@ void MDSMonitor::dump_info(Formatter *f)
 
 bool MDSMonitor::preprocess_command(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = -1;
   bufferlist rdata;
@@ -1043,6 +1051,7 @@ int MDSMonitor::fail_mds(std::ostream &ss, const std::string &arg)
 
 bool MDSMonitor::prepare_command(MonOpRequestRef op)
 {
+  op->mark_mdsmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = -EINVAL;
   stringstream ss;
@@ -1179,6 +1188,7 @@ int MDSMonitor::management_command(
     map<string, cmd_vartype> &cmdmap,
     std::stringstream &ss)
 {
+  op->mark_mdsmon_event(__func__);
   if (prefix == "mds newfs") {
     /* Legacy `newfs` command, takes pool numbers instead of
      * names, assumes fs name to be MDS_FS_NAME_DEFAULT, and
@@ -1420,6 +1430,7 @@ int MDSMonitor::filesystem_command(
     map<string, cmd_vartype> &cmdmap,
     std::stringstream &ss)
 {
+  op->mark_mdsmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = 0;
   string whostr;
index 3b43cc8eb23d42d97c24e26a9d2f93839ce21417..60ea768a80c2a50fbfe19a673e9eb74bd2cbc003 100644 (file)
@@ -1255,6 +1255,7 @@ void OSDMonitor::encode_trim_extra(MonitorDBStore::TransactionRef tx,
 
 bool OSDMonitor::preprocess_query(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "preprocess_query " << *m << " from " << m->get_orig_source_inst() << dendl;
 
@@ -1291,6 +1292,7 @@ bool OSDMonitor::preprocess_query(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_update(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(7) << "prepare_update " << *m << " from " << m->get_orig_source_inst() << dendl;
 
@@ -1351,6 +1353,7 @@ bool OSDMonitor::should_propose(double& delay)
 
 bool OSDMonitor::preprocess_get_osdmap(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MMonGetOSDMap *m = static_cast<MMonGetOSDMap*>(op->get_req());
   dout(10) << __func__ << " " << *m << dendl;
   MOSDMap *reply = new MOSDMap(mon->monmap->fsid);
@@ -1402,6 +1405,7 @@ bool OSDMonitor::check_source(PaxosServiceMessage *m, uuid_d fsid) {
 
 bool OSDMonitor::preprocess_failure(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDFailure *m = static_cast<MOSDFailure*>(op->get_req());
   // who is target_osd
   int badboy = m->get_target().name.num();
@@ -1483,6 +1487,7 @@ public:
 
 bool OSDMonitor::preprocess_mark_me_down(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDMarkMeDown *m = static_cast<MOSDMarkMeDown*>(op->get_req());
   int requesting_down = m->get_target().name.num();
   int from = m->get_orig_source().num();
@@ -1521,6 +1526,7 @@ bool OSDMonitor::preprocess_mark_me_down(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_mark_me_down(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDMarkMeDown *m = static_cast<MOSDMarkMeDown*>(op->get_req());
   int target_osd = m->get_target().name.num();
 
@@ -1683,6 +1689,7 @@ bool OSDMonitor::check_failure(utime_t now, int target_osd, failure_info_t& fi)
 
 bool OSDMonitor::prepare_failure(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDFailure *m = static_cast<MOSDFailure*>(op->get_req());
   dout(1) << "prepare_failure " << m->get_target() << " from " << m->get_orig_source_inst()
           << " is reporting failure:" << m->if_osd_failed() << dendl;
@@ -1776,6 +1783,7 @@ void OSDMonitor::take_all_failures(list<MOSDFailure*>& ls)
 
 bool OSDMonitor::preprocess_boot(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDBoot *m = static_cast<MOSDBoot*>(op->get_req());
   int from = m->get_orig_source_inst().name.num();
 
@@ -1864,6 +1872,7 @@ bool OSDMonitor::preprocess_boot(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_boot(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDBoot *m = static_cast<MOSDBoot*>(op->get_req());
   dout(7) << "prepare_boot from " << m->get_orig_source_inst() << " sb " << m->sb
          << " cluster_addr " << m->cluster_addr
@@ -2001,6 +2010,7 @@ bool OSDMonitor::prepare_boot(MonOpRequestRef op)
 
 void OSDMonitor::_booted(MonOpRequestRef op, bool logit)
 {
+  op->mark_osdmon_event(__func__);
   MOSDBoot *m = static_cast<MOSDBoot*>(op->get_req());
   dout(7) << "_booted " << m->get_orig_source_inst() 
          << " w " << m->sb.weight << " from " << m->sb.current_epoch << dendl;
@@ -2018,6 +2028,7 @@ void OSDMonitor::_booted(MonOpRequestRef op, bool logit)
 
 bool OSDMonitor::preprocess_alive(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDAlive *m = static_cast<MOSDAlive*>(op->get_req());
   int from = m->get_orig_source().num();
 
@@ -2054,6 +2065,7 @@ bool OSDMonitor::preprocess_alive(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_alive(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDAlive *m = static_cast<MOSDAlive*>(op->get_req());
   int from = m->get_orig_source().num();
 
@@ -2071,6 +2083,7 @@ bool OSDMonitor::prepare_alive(MonOpRequestRef op)
 void OSDMonitor::_reply_map(MonOpRequestRef op, epoch_t e)
 {
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
+  op->mark_osdmon_event(__func__);
   dout(7) << "_reply_map " << e
          << " from " << m->get_orig_source_inst()
          << dendl;
@@ -2153,6 +2166,7 @@ bool OSDMonitor::preprocess_pgtemp(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_pgtemp(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MOSDPGTemp *m = static_cast<MOSDPGTemp*>(op->get_req());
   int from = m->get_orig_source().num();
   dout(7) << "prepare_pgtemp e" << m->map_epoch << " from " << m->get_orig_source_inst() << dendl;
@@ -2187,6 +2201,7 @@ bool OSDMonitor::prepare_pgtemp(MonOpRequestRef op)
 
 bool OSDMonitor::preprocess_remove_snaps(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MRemoveSnaps *m = static_cast<MRemoveSnaps*>(op->get_req());
   dout(7) << "preprocess_remove_snaps " << *m << dendl;
 
@@ -2223,6 +2238,7 @@ bool OSDMonitor::preprocess_remove_snaps(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_remove_snaps(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MRemoveSnaps *m = static_cast<MRemoveSnaps*>(op->get_req());
   dout(7) << "prepare_remove_snaps " << *m << dendl;
 
@@ -2849,6 +2865,7 @@ namespace {
 
 bool OSDMonitor::preprocess_command(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = 0;
   bufferlist rdata;
@@ -3936,6 +3953,7 @@ void OSDMonitor::get_pools_health(
 
 int OSDMonitor::prepare_new_pool(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   dout(10) << "prepare_new_pool from " << m->get_connection() << dendl;
   MonSession *session = m->get_session();
@@ -4428,6 +4446,7 @@ int OSDMonitor::prepare_new_pool(string& name, uint64_t auid,
 
 bool OSDMonitor::prepare_set_flag(MonOpRequestRef op, int flag)
 {
+  op->mark_osdmon_event(__func__);
   ostringstream ss;
   if (pending_inc.new_flags < 0)
     pending_inc.new_flags = osdmap.get_flags();
@@ -4440,6 +4459,7 @@ bool OSDMonitor::prepare_set_flag(MonOpRequestRef op, int flag)
 
 bool OSDMonitor::prepare_unset_flag(MonOpRequestRef op, int flag)
 {
+  op->mark_osdmon_event(__func__);
   ostringstream ss;
   if (pending_inc.new_flags < 0)
     pending_inc.new_flags = osdmap.get_flags();
@@ -4833,6 +4853,7 @@ int OSDMonitor::prepare_command_pool_set(map<string,cmd_vartype> &cmdmap,
 
 bool OSDMonitor::prepare_command(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   stringstream ss;
   map<string, cmd_vartype> cmdmap;
@@ -4854,6 +4875,7 @@ bool OSDMonitor::prepare_command(MonOpRequestRef op)
 bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
                                      map<string,cmd_vartype> &cmdmap)
 {
+  op->mark_osdmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   bool ret = false;
   stringstream ss;
@@ -7062,6 +7084,7 @@ done:
 
 bool OSDMonitor::preprocess_pool_op(MonOpRequestRef op) 
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   if (m->op == POOL_OP_CREATE)
     return preprocess_pool_op_create(op);
@@ -7133,6 +7156,7 @@ bool OSDMonitor::preprocess_pool_op(MonOpRequestRef op)
 
 bool OSDMonitor::preprocess_pool_op_create(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   MonSession *session = m->get_session();
   if (!session) {
@@ -7158,6 +7182,7 @@ bool OSDMonitor::preprocess_pool_op_create(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_pool_op(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   dout(10) << "prepare_pool_op " << *m << dendl;
   if (m->op == POOL_OP_CREATE) {
@@ -7296,6 +7321,7 @@ bool OSDMonitor::prepare_pool_op(MonOpRequestRef op)
 
 bool OSDMonitor::prepare_pool_op_create(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   int err = prepare_new_pool(op);
   wait_for_finished_proposal(op, new OSDMonitor::C_PoolOp(this, op, err, pending_inc.epoch));
   return true;
@@ -7498,6 +7524,7 @@ int OSDMonitor::_prepare_rename_pool(int64_t pool, string newname)
 
 bool OSDMonitor::prepare_pool_op_delete(MonOpRequestRef op)
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   ostringstream ss;
   int ret = _prepare_remove_pool(m->pool, &ss);
@@ -7515,6 +7542,7 @@ bool OSDMonitor::prepare_pool_op_delete(MonOpRequestRef op)
 void OSDMonitor::_pool_op_reply(MonOpRequestRef op,
                                 int ret, epoch_t epoch, bufferlist *blp)
 {
+  op->mark_osdmon_event(__func__);
   MPoolOp *m = static_cast<MPoolOp*>(op->get_req());
   dout(20) << "_pool_op_reply " << ret << dendl;
   MPoolOpReply *reply = new MPoolOpReply(m->fsid, m->get_tid(),
index 528ad6d024753bfd9e50bc642727981c482010c7..f8185998bab51decf58b8cb837125f6586e950db 100644 (file)
@@ -577,6 +577,7 @@ version_t PGMonitor::get_trim_to()
 
 bool PGMonitor::preprocess_query(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "preprocess_query " << *m << " from " << m->get_orig_source_inst() << dendl;
   switch (m->get_type()) {
@@ -601,6 +602,7 @@ bool PGMonitor::preprocess_query(MonOpRequestRef op)
 
 bool PGMonitor::prepare_update(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   PaxosServiceMessage *m = static_cast<PaxosServiceMessage*>(op->get_req());
   dout(10) << "prepare_update " << *m << " from " << m->get_orig_source_inst() << dendl;
   switch (m->get_type()) {
@@ -618,6 +620,7 @@ bool PGMonitor::prepare_update(MonOpRequestRef op)
 
 void PGMonitor::handle_statfs(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MStatfs *statfs = static_cast<MStatfs*>(op->get_req());
   // check caps
   MonSession *session = statfs->get_session();
@@ -652,6 +655,7 @@ void PGMonitor::handle_statfs(MonOpRequestRef op)
 
 bool PGMonitor::preprocess_getpoolstats(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MGetPoolStats *m = static_cast<MGetPoolStats*>(op->get_req());
   MGetPoolStatsReply *reply;
 
@@ -691,6 +695,7 @@ bool PGMonitor::preprocess_getpoolstats(MonOpRequestRef op)
 
 bool PGMonitor::preprocess_pg_stats(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MPGStats *stats = static_cast<MPGStats*>(op->get_req());
   // check caps
   MonSession *session = stats->get_session();
@@ -742,6 +747,7 @@ bool PGMonitor::pg_stats_have_changed(int from, const MPGStats *stats) const
 
 bool PGMonitor::prepare_pg_stats(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MPGStats *stats = static_cast<MPGStats*>(op->get_req());
   dout(10) << "prepare_pg_stats " << *stats << " from " << stats->get_orig_source() << dendl;
   int from = stats->get_orig_source().num();
@@ -838,6 +844,8 @@ bool PGMonitor::prepare_pg_stats(MonOpRequestRef op)
 
 void PGMonitor::_updated_stats(MonOpRequestRef op, MonOpRequestRef ack_op)
 {
+  op->mark_pgmon_event(__func__);
+  ack_op->mark_pgmon_event(__func__);
   MPGStats *ack = static_cast<MPGStats*>(ack_op->get_req());
   dout(7) << "_updated_stats for "
           << op->get_req()->get_orig_source_inst() << dendl;
@@ -1456,6 +1464,7 @@ void PGMonitor::dump_info(Formatter *f)
 
 bool PGMonitor::preprocess_command(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   int r = -1;
   bufferlist rdata;
@@ -1783,6 +1792,7 @@ bool PGMonitor::preprocess_command(MonOpRequestRef op)
 
 bool PGMonitor::prepare_command(MonOpRequestRef op)
 {
+  op->mark_pgmon_event(__func__);
   MMonCommand *m = static_cast<MMonCommand*>(op->get_req());
   stringstream ss;
   pg_t pgid;