]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: dump command ops
authorSage Weil <sage@inktank.com>
Thu, 13 Jun 2013 23:01:31 +0000 (16:01 -0700)
committerSage Weil <sage@inktank.com>
Thu, 13 Jun 2013 23:01:31 +0000 (16:01 -0700)
Dump command_ops along with everything else.

Signed-off-by: Sage Weil <sage@inktank.com>
src/osdc/Objecter.cc
src/osdc/Objecter.h

index 3674d361f141298ac5b4e3f3b6e56012cd9fd66c..e6b07a248ed4849c0bd6e01eacab1e9c97711645 100644 (file)
@@ -2189,6 +2189,7 @@ void Objecter::dump_requests(Formatter& fmt) const
   dump_pool_ops(fmt);
   dump_pool_stat_ops(fmt);
   dump_statfs_ops(fmt);
+  dump_command_ops(fmt);
   fmt.close_section(); // requests object
 }
 
@@ -2245,6 +2246,29 @@ void Objecter::dump_linger_ops(Formatter& fmt) const
   fmt.close_section(); // linger_ops array
 }
 
+void Objecter::dump_command_ops(Formatter& fmt) const
+{
+  fmt.open_array_section("command_ops");
+  for (map<uint64_t, CommandOp*>::const_iterator p = command_ops.begin();
+       p != command_ops.end();
+       ++p) {
+    CommandOp *op = p->second;
+    fmt.open_object_section("command_op");
+    fmt.dump_unsigned("command_id", op->tid);
+    fmt.dump_int("osd", op->session ? op->session->osd : -1);
+    fmt.open_array_section("command");
+    for (vector<string>::const_iterator q = op->cmd.begin(); q != op->cmd.end(); ++q)
+      fmt.dump_string("word", *q);
+    fmt.close_section();
+    if (op->target_osd >= 0)
+      fmt.dump_int("target_osd", op->target_osd);
+    else
+      fmt.dump_stream("target_pg") << op->target_pg;
+    fmt.close_section(); // command_op object
+  }
+  fmt.close_section(); // command_ops array
+}
+
 void Objecter::dump_pool_ops(Formatter& fmt) const
 {
   fmt.open_array_section("pool_ops");
index b64c8f77ed073fd689419a10a77f97ba4db8e0fb..5f28d6d7eac8997dc4ae8c521c3dad2ff0d68d49 100644 (file)
@@ -1226,6 +1226,7 @@ private:
   void dump_requests(Formatter& fmt) const;
   void dump_ops(Formatter& fmt) const;
   void dump_linger_ops(Formatter& fmt) const;
+  void dump_command_ops(Formatter& fmt) const;
   void dump_pool_ops(Formatter& fmt) const;
   void dump_pool_stat_ops(Formatter& fmt) const;
   void dump_statfs_ops(Formatter& fmt) const;