aboutsummaryrefslogtreecommitdiff
path: root/src/libventi
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-11-02 19:08:43 +0000
committerrsc <devnull@localhost>2005-11-02 19:08:43 +0000
commit7252036fe876f522b5549f1d97c79528ca1be7ff (patch)
tree49ce2530906aa937b711ba37cb42d0364243113f /src/libventi
parentf51bf048784abd642dea4f033bc95acbd4468b6a (diff)
downloadplan9port-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.c8
-rw-r--r--src/libventi/client.c4
-rw-r--r--src/libventi/rpc.c15
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)
{