]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
*** empty log message ***
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 20 Mar 2006 23:52:52 +0000 (23:52 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 20 Mar 2006 23:52:52 +0000 (23:52 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@723 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/client/Client.cc
ceph/msg/Messenger.cc
ceph/msg/TCPMessenger.cc
ceph/script/comb.pl
ceph/script/runset.pl
ceph/script/sum.pl

index 9608553e39a258b9bc14344a1e34efe5d1024e09..2e346e9f54e05bdc4be76cd1c2d132b4bd3eef65 100644 (file)
@@ -2175,12 +2175,14 @@ int Client::write(fh_t fh, const char *buf, off_t size, off_t offset)
          Cond cond;
          int rvalue = 0;
          
+         utime_t start = g_clock.now();
+
          bool done = false;
          C_Client_Cond *onfinish = new C_Client_Cond(&cond, &done, &rvalue);
          C_Client_HackUnsafe *onsafe = new C_Client_HackUnsafe(this);
          unsafe_sync_write++;
 
-         dout(-20) << " sync write start " << onfinish << endl;
+         dout(20) << " sync write start " << onfinish << endl;
 
          filer->write(in->inode, size, offset, blist, 0, 
                                   //NULL,NULL);  // no wait hack
@@ -2188,10 +2190,16 @@ int Client::write(fh_t fh, const char *buf, off_t size, off_t offset)
          
          while (!done) {
                cond.Wait(client_lock);
-               dout(-20) << " sync write bump " << onfinish << endl;
+               dout(20) << " sync write bump " << onfinish << endl;
          }
 
-         dout(-20) << " sync write done " << onfinish << endl;
+         // time
+         utime_t lat = g_clock.now();
+         lat -= start;
+         client_logger->finc("wrlsum",(double)lat);
+         client_logger->inc("wrlnum");
+
+         dout(20) << " sync write done " << onfinish << endl;
        }
   }
 
index 9eb72d5aaeac21888e140877d95b509e4e9f35c8..9784d9e2f6ba124cb7a05fb7ae58507e31821e77 100644 (file)
@@ -71,6 +71,9 @@ using namespace std;
 #include "messages/MExportDirNotifyAck.h"
 #include "messages/MExportDirFinish.h"
 
+#include "messages/MHashReaddir.h"
+#include "messages/MHashReaddirReply.h"
+
 #include "messages/MHashDirDiscover.h"
 #include "messages/MHashDirDiscoverAck.h"
 #include "messages/MHashDirPrep.h"
@@ -392,6 +395,13 @@ decode_message(msg_envelope_t& env, bufferlist& payload)
        break;
 
 
+  case MSG_MDS_HASHREADDIR:
+       m = new MHashReaddir();
+       break;
+  case MSG_MDS_HASHREADDIRREPLY:
+       m = new MHashReaddirReply();
+       break;
+       
   case MSG_MDS_HASHDIRDISCOVER:
        m = new MHashDirDiscover();
        break;
index c548cdc8c9a415db1ba39bb799ad8ab544902b71..32fac8f7f577e875aaa842c578203477d6593813 100644 (file)
@@ -590,6 +590,11 @@ Message *tcp_recv(int sd)
   size_t s = blist.length();
   Message *m = decode_message(env, blist);
 
+  if (logger) {
+       logger->inc("in");
+       logger->inc("inb", s+sizeof(env));
+  }
+
   dout(DBL) << "tcp_recv got " << s << " byte message from " << MSG_ADDR_NICE(m->get_source()) << endl;
 
   return m;
@@ -800,21 +805,20 @@ void *tcp_inthread(void *r)
        //dout(1) << "inthread got " << m << " from sd " << sd << " who is " << who << endl;
 
        // give to dispatch loop
-       size_t sz;
+       size_t sz = m->get_payload().length();
        incoming_lock.Lock();
        {
          incoming.push_back(m);
          incoming_cond.Signal();
 
          stat_inq++;
-         sz = m->get_payload().length();
          stat_inqb += sz;
        }
        incoming_lock.Unlock();
 
        if (logger) {
-         logger->inc("in");
-         logger->inc("inb", sz);
+         //logger->inc("in");
+         //logger->inc("inb", sz);
        }
   }
 
index d246c7384614cdf58e2a78f3beb2dc297da9446f..869a64369598a5aed699143146ea356aae23f9ac 100755 (executable)
@@ -46,6 +46,7 @@ sub load_sum {
 
                # clnode latency?
                if ($fn =~ /cl/) {
+                       $s->{$k}->{'wrlat'} = $s->{$k}->{'wrlsum'} / $s->{$k}->{'wrlnum'} if $s->{$k}->{'wrlnum'} > 0;
                        $s->{$k}->{'lat'} = $s->{$k}->{'lsum'} / $s->{$k}->{'lnum'} if $s->{$k}->{'lnum'} > 0;
                        $s->{$k}->{'latw'} = $s->{$k}->{'lwsum'} / $s->{$k}->{'lwnum'} if $s->{$k}->{'lwnum'} > 0;
                        $s->{$k}->{'latr'} = $s->{$k}->{'lrsum'} / $s->{$k}->{'lrnum'} if $s->{$k}->{'lrnum'} > 0;
index 348ad16e3efa7f9d1cd7dab7a172f7c0f0c37289..9d7f86dec10ba33ea53bea690bbef4c383583768 100755 (executable)
@@ -79,7 +79,7 @@ unless (ref $sim) {
        exit 1;
 }
 
-open(W, "$out/in");
+open(W, ">$out/in");
 print W $raw;
 close W;
 
index 4e751bf964658b252e7b55c2c64c93143cd1dbfd..50291b77b2bf981a1f09a236d30497e580cee868 100755 (executable)
@@ -97,6 +97,6 @@ print join("\t", '#maxval', map { $max{$col{$_}} } @c ) . "\n";
 print join("\t", '#rows', map { $rows } @c) . "\n";
 print join("\t", '#files', map { $files } @c) . "\n";
 print join("\t", '#avgval', #map int, 
-                  map { $_ / ($rows*$files) } map { $avg{$col{$_}} } @c ) . "\n";
+                  map { ($rows*$files) ? ($_ / ($rows*$files)):0 } map { $avg{$col{$_}} } @c ) . "\n";
 print join("\t", '#avgsum', #map int, 
                   map { $_ / $rows } map { $avg{$col{$_}} } @c ) . "\n";