MultiDatabase shard count limitations

Olly Betts olly at survex.com
Mon Aug 24 08:40:00 BST 2020


On Mon, Aug 24, 2020 at 05:58:02AM +0000, Eric Wong wrote:
> Olly Betts <olly at survex.com> wrote:
> > Can prof report time for a function including things it calls?
> 
> callgraph?  Attached is a profile the output of "perf report -g"
> with callgraph info.  I'm no perf expert, either, but slowly
> learning more as I go along...

The list seems to have stripped the attachment, but I was able to dig it
out from the message it sent saying it was held for approval for having
a large attachment.

That's kind of what I was after, in that it seems to be trying to show
time spent in "Children", but it doesn't seem to do that completely so
I'm not sure how to interpret it.  I'd expect the parent of everything
to show up with 100% including Children (or close to 100%) but nothing
does.

> Btw, I tried google-pprof (from the Debian stable
> google-perftools 2.7-1 package) and couldn't figure it out...
> Even the example from the manpage: `google-pprof /bin/ls ls.prof`
> didn't seem to work.  It tried to open an invalid URL with
> curl 'http://ls.prof/pprof/profile?seconds=30' ... *shrug*

It seems to handle "file not found" by trying to load the filename as a
URL - that rarely seems helpful, but in particular makes for a confusing
error message.

The docs say to link with -lprofiler but it seems to work fine to
LD_PRELOAD it and I find that easier to work with so I use it like so:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libprofiler.so CPUPROFILE=$HOME/prof.out /usr/bin/xapian-compact /mnt/data/scratch/text/tmp06.db /mnt/data/scratch/text/06.db
google-pprof /usr/bin/xapian-compact $HOME/prof.out

At the prompt inside, "gv" renders a callgraph in postscript and
"callgrind" generates a file like that from valgrind's callgrind tool
which you can inspect with kcachegrind, etc.

Cheers,
    Olly



More information about the Xapian-discuss mailing list