]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
filestore: measure commit interval, latency, journal full count
authorSage Weil <sage.weil@dreamhost.com>
Thu, 20 Oct 2011 20:16:28 +0000 (13:16 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Thu, 20 Oct 2011 20:16:28 +0000 (13:16 -0700)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/os/FileJournal.cc
src/os/FileStore.cc
src/os/ObjectStore.h

index c446f9c77dc0754483550c15906d7e68b7baf955..c0c7fe9fcb574188230cd19816eee90642109d6f 100644 (file)
@@ -594,6 +594,9 @@ int FileJournal::prepare_multi_write(bufferlist& bl, uint64_t& orig_ops, uint64_
       if (orig_ops)
        break;         // commit what we have
 
+      if (logger)
+       logger->inc(l_os_j_full);
+
       if (wait_on_full) {
        dout(20) << "prepare_multi_write full on first entry, need to wait" << dendl;
       } else {
index c7d4b548e21b1e3d7f5f96ffc6f416f12cf40166..c81a88d0477cfdf283b2144adfe669d3dee68809 100644 (file)
@@ -685,6 +685,11 @@ FileStore::FileStore(const std::string &base, const std::string &jdev) :
   plb.add_fl_avg(l_os_apply_lat, "apply_latency");
   plb.add_u64(l_os_committing, "committing");
 
+  plb.add_u64_counter(l_os_commit, "commitcycle");
+  plb.add_fl_avg(l_os_commit_len, "commitcycle_interval");
+  plb.add_fl_avg(l_os_commit_lat, "commitcycle_latency");
+  plb.add_u64_counter(l_os_j_full, "journal_full");
+
   logger = plb.create_perf_counters();
 }
 
@@ -3072,8 +3077,14 @@ void FileStore::sync_entry()
       }
       
       utime_t done = ceph_clock_now(g_ceph_context);
-      done -= start;
-      dout(10) << "sync_entry commit took " << done << dendl;
+      utime_t lat = done - start;
+      utime_t dur = done - startwait;
+      dout(10) << "sync_entry commit took " << lat << ", interval was " << dur << dendl;
+
+      logger->inc(l_os_commit);
+      logger->finc(l_os_commit_lat, lat);
+      logger->finc(l_os_commit_len, dur);
+
       commit_finish();
 
       logger->set(l_os_committing, 0);
index cb2053814a051807f3b4f19a8af96dbc99c63e63..1132369869b4e29792d4d1cefa7e4f3565eac4db 100644 (file)
@@ -57,6 +57,10 @@ enum {
   l_os_bytes,
   l_os_apply_lat,
   l_os_committing,
+  l_os_commit,
+  l_os_commit_len,
+  l_os_commit_lat,
+  l_os_j_full,
   l_os_last,
 };