Blob


1 #include "stdinc.h"
2 #include "dat.h"
3 #include "fns.h"
5 Stats stats;
7 void
8 statsinit(void)
9 {
10 }
12 static int
13 percent(long v, long total)
14 {
15 if(total == 0)
16 total = 1;
17 if(v < 1000*1000)
18 return (v * 100) / total;
19 total /= 100;
20 if(total == 0)
21 total = 1;
22 return v / total;
23 }
25 void
26 printstats(void)
27 {
28 fprint(2, "lump writes=%,ld\n", stats.lumpwrites);
29 fprint(2, "lump reads=%,ld\n", stats.lumpreads);
30 fprint(2, "lump cache read hits=%,ld\n", stats.lumphit);
31 fprint(2, "lump cache read misses=%,ld\n", stats.lumpmiss);
33 fprint(2, "clump disk writes=%,ld\n", stats.clumpwrites);
34 fprint(2, "clump disk bytes written=%,lld\n", stats.clumpbwrites);
35 fprint(2, "clump disk bytes compressed=%,lld\n", stats.clumpbcomp);
36 fprint(2, "clump disk reads=%,ld\n", stats.clumpreads);
37 fprint(2, "clump disk bytes read=%,lld\n", stats.clumpbreads);
38 fprint(2, "clump disk bytes uncompressed=%,lld\n", stats.clumpbuncomp);
40 fprint(2, "clump directory disk writes=%,ld\n", stats.ciwrites);
41 fprint(2, "clump directory disk reads=%,ld\n", stats.cireads);
43 fprint(2, "index disk writes=%,ld\n", stats.indexwrites);
44 fprint(2, "index disk reads=%,ld\n", stats.indexreads);
45 fprint(2, "index disk reads for modify=%,ld\n", stats.indexwreads);
46 fprint(2, "index disk reads for allocation=%,ld\n", stats.indexareads);
47 fprint(2, "index block splits=%,ld\n", stats.indexsplits);
49 fprint(2, "index cache lookups=%,ld\n", stats.iclookups);
50 fprint(2, "index cache hits=%,ld %d%%\n", stats.ichits,
51 percent(stats.ichits, stats.iclookups));
52 fprint(2, "index cache fills=%,ld %d%%\n", stats.icfills,
53 percent(stats.icfills, stats.iclookups));
54 fprint(2, "index cache inserts=%,ld\n", stats.icinserts);
56 fprint(2, "disk cache hits=%,ld\n", stats.pchit);
57 fprint(2, "disk cache misses=%,ld\n", stats.pcmiss);
58 fprint(2, "disk cache reads=%,ld\n", stats.pcreads);
59 fprint(2, "disk cache bytes read=%,lld\n", stats.pcbreads);
61 fprint(2, "disk cache writes=%,ld\n", stats.dirtydblocks);
62 fprint(2, "disk cache writes absorbed=%,ld %d%%\n", stats.absorbedwrites,
63 percent(stats.absorbedwrites, stats.dirtydblocks));
65 fprint(2, "disk writes=%,ld\n", stats.diskwrites);
66 fprint(2, "disk bytes written=%,lld\n", stats.diskbwrites);
67 fprint(2, "disk reads=%,ld\n", stats.diskreads);
68 fprint(2, "disk bytes read=%,lld\n", stats.diskbreads);
70 }