diff options
author | rsc <devnull@localhost> | 2005-11-02 19:08:43 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-11-02 19:08:43 +0000 |
commit | 7252036fe876f522b5549f1d97c79528ca1be7ff (patch) | |
tree | 49ce2530906aa937b711ba37cb42d0364243113f /src/libventi | |
parent | f51bf048784abd642dea4f033bc95acbd4468b6a (diff) | |
download | plan9port-7252036fe876f522b5549f1d97c79528ca1be7ff.tar.gz plan9port-7252036fe876f522b5549f1d97c79528ca1be7ff.tar.bz2 plan9port-7252036fe876f522b5549f1d97c79528ca1be7ff.zip |
Better logging in vtrpc, publish cache statistics.
Diffstat (limited to 'src/libventi')
-rw-r--r-- | src/libventi/cache.c | 8 | ||||
-rw-r--r-- | src/libventi/client.c | 4 | ||||
-rw-r--r-- | src/libventi/rpc.c | 15 |
3 files changed, 20 insertions, 7 deletions
diff --git a/src/libventi/cache.c b/src/libventi/cache.c index 71bdb62c..8dcb52f5 100644 --- a/src/libventi/cache.c +++ b/src/libventi/cache.c @@ -12,7 +12,9 @@ #include <libc.h> #include <venti.h> -int nread, ncopy, nwrite; +int vtcachenread; +int vtcachencopy; +int vtcachenwrite; enum { BioLocal = 1, @@ -419,6 +421,7 @@ vtcacheglobal(VtCache *c, uchar score[VtScoreSize], int type) b->nlock = 1; qunlock(&c->lk); + vtcachenread++; n = vtread(c->z, score, type, b->data, c->blocksize); if(n < 0){ werrstr("vtread %V: %r", score); @@ -512,6 +515,7 @@ vtblockwrite(VtBlock *b) c = b->c; n = vtzerotruncate(b->type, b->data, c->blocksize); + vtcachenwrite++; if(c->write(c->z, score, b->type, b->data, n) < 0) return -1; @@ -540,7 +544,7 @@ vtblockcopy(VtBlock *b) { VtBlock *bb; -ncopy++; + vtcachencopy++; bb = vtcacheallocblock(b->c, b->type); if(bb == nil){ vtblockput(b); diff --git a/src/libventi/client.c b/src/libventi/client.c index bb102c9f..33963860 100644 --- a/src/libventi/client.c +++ b/src/libventi/client.c @@ -9,12 +9,10 @@ vtfcallrpc(VtConn *z, VtFcall *ou, VtFcall *in) { Packet *p; - if(chattyventi) - fprint(2, "%s -> %F\n", argv0, ou); p = vtfcallpack(ou); if(p == nil) return -1; - if((p = vtrpc(z, p)) == nil) + if((p = _vtrpc(z, p, ou)) == nil) return -1; if(vtfcallunpack(in, p) < 0){ packetfree(p); diff --git a/src/libventi/rpc.c b/src/libventi/rpc.c index 0cd9410a..faf80629 100644 --- a/src/libventi/rpc.c +++ b/src/libventi/rpc.c @@ -29,10 +29,9 @@ struct Rwait static int gettag(VtConn*, Rwait*); static void puttag(VtConn*, Rwait*, int); static void muxrpc(VtConn*, Packet*); -Packet *vtrpc(VtConn*, Packet*); Packet* -vtrpc(VtConn *z, Packet *p) +_vtrpc(VtConn *z, Packet *p, VtFcall *tx) { int i; uchar tag, buf[2], *top; @@ -44,6 +43,12 @@ vtrpc(VtConn *z, Packet *p) qlock(&z->lk); r->r.l = &z->lk; tag = gettag(z, r); + if(tx){ + /* vtfcallrpc can't print packet because it doesn't have tag */ + tx->tag = tag; + if(chattyventi) + fprint(2, "%s -> %F\n", argv0, tx); + } /* slam tag into packet */ top = packetpeek(p, buf, 0, 2); @@ -104,6 +109,12 @@ vtrpc(VtConn *z, Packet *p) return p; } +Packet* +vtrpc(VtConn *z, Packet *p) +{ + return _vtrpc(z, p, nil); +} + static int gettag(VtConn *z, Rwait *r) { |