1*368c31abSDavid du Colombier #include "stdinc.h"
2*368c31abSDavid du Colombier #include "dat.h"
3*368c31abSDavid du Colombier #include "fns.h"
4*368c31abSDavid du Colombier
5*368c31abSDavid du Colombier void
printindex(int fd,Index * ix)6*368c31abSDavid du Colombier printindex(int fd, Index *ix)
7*368c31abSDavid du Colombier {
8*368c31abSDavid du Colombier int i;
9*368c31abSDavid du Colombier
10*368c31abSDavid du Colombier fprint(fd, "index=%s version=%d blocksize=%d tabsize=%d\n",
11*368c31abSDavid du Colombier ix->name, ix->version, ix->blocksize, ix->tabsize);
12*368c31abSDavid du Colombier fprint(fd, "\tbuckets=%d div=%d\n", ix->buckets, ix->div);
13*368c31abSDavid du Colombier for(i = 0; i < ix->nsects; i++)
14*368c31abSDavid du Colombier fprint(fd, "\tsect=%s for buckets [%lld,%lld)\n", ix->smap[i].name, ix->smap[i].start, ix->smap[i].stop);
15*368c31abSDavid du Colombier for(i = 0; i < ix->narenas; i++)
16*368c31abSDavid du Colombier fprint(fd, "\tarena=%s at [%lld,%lld)\n", ix->amap[i].name, ix->amap[i].start, ix->amap[i].stop);
17*368c31abSDavid du Colombier }
18*368c31abSDavid du Colombier
19*368c31abSDavid du Colombier void
printarenapart(int fd,ArenaPart * ap)20*368c31abSDavid du Colombier printarenapart(int fd, ArenaPart *ap)
21*368c31abSDavid du Colombier {
22*368c31abSDavid du Colombier int i;
23*368c31abSDavid du Colombier
24*368c31abSDavid du Colombier fprint(fd, "arena partition=%s\n\tversion=%d blocksize=%d arenas=%d\n\tsetbase=%d setsize=%d\n",
25*368c31abSDavid du Colombier ap->part->name, ap->version, ap->blocksize, ap->narenas, ap->tabbase, ap->tabsize);
26*368c31abSDavid du Colombier for(i = 0; i < ap->narenas; i++)
27*368c31abSDavid du Colombier fprint(fd, "\tarena=%s at [%lld,%lld)\n", ap->map[i].name, ap->map[i].start, ap->map[i].stop);
28*368c31abSDavid du Colombier }
29*368c31abSDavid du Colombier
30*368c31abSDavid du Colombier void
printarena(int fd,Arena * arena)31*368c31abSDavid du Colombier printarena(int fd, Arena *arena)
32*368c31abSDavid du Colombier {
33*368c31abSDavid du Colombier fprint(fd, "arena='%s' [%lld,%lld)\n\tversion=%d created=%d modified=%d",
34*368c31abSDavid du Colombier arena->name, arena->base, arena->base + arena->size + 2 * arena->blocksize,
35*368c31abSDavid du Colombier arena->version, arena->ctime, arena->wtime);
36*368c31abSDavid du Colombier if(arena->memstats.sealed)
37*368c31abSDavid du Colombier fprint(2, " sealed\n");
38*368c31abSDavid du Colombier else
39*368c31abSDavid du Colombier fprint(2, "\n");
40*368c31abSDavid du Colombier if(scorecmp(zeroscore, arena->score) != 0)
41*368c31abSDavid du Colombier fprint(2, "\tscore=%V\n", arena->score);
42*368c31abSDavid du Colombier
43*368c31abSDavid du Colombier fprint(fd, "\tclumps=%,d compressed clumps=%,d data=%,lld compressed data=%,lld disk storage=%,lld\n",
44*368c31abSDavid du Colombier arena->memstats.clumps, arena->memstats.cclumps, arena->memstats.uncsize,
45*368c31abSDavid du Colombier arena->memstats.used - arena->memstats.clumps * ClumpSize,
46*368c31abSDavid du Colombier arena->memstats.used + arena->memstats.clumps * ClumpInfoSize);
47*368c31abSDavid du Colombier }
48