experimental logging branch
David Bremner
david at tethera.net
Sat Dec 10 19:27:02 PST 2011
I have pushed a branch jlog
git://pivot.cs.unb.ca/notmuch.git
This uses the jlog library (http://labs.omniti.com/labs/jlog)
to atomically log messages in pub-sub model.
On this branch you can enable logging of tagging operations by
notmuch config set log.subscribers 'name1;name2;name3'
the "subscriber names" identify clients (one could imagine one client
deals with general tag syncing, another with nmbug, or so).
One can read the log via the jlog api (there are perl bindings) or via
the "notmuch log" command.
notmuch log name1
will print all of the log messages since the last time the queue was
read.
for e.g., tag removal, these lines look like
T-1322702130-26068-3-git-send-email-bremner at debian.org test
T-1322702130-26068-1-git-send-email-bremner at debian.org test
T-7fbe6befcf31881a9bca672f55b93501249a220c.1322859389.git.jani at nikula.org test
T-716da00e176e1dc6af0ba248caee40acee733120.1322859389.git.jani at nikula.org test
An example application would be a cron job that writes all tag changes
to some nmbug like git repo.
There are a few rough edges and I expect to rebase the branch a bit
more, but feel free to have a look at it. I guess I'm curious if people
think jlog is an acceptable dependency, and whether the whole logging
thing seems worthwhile.
I did some preliminary tests, and for adding or deleting a tag to 200k
messages, this added about a 5% time penalty. I didn't notice any really
heavy I/O (no SSD here, but i7 cpu). Tests were roughly 95% CPU bound.
There are some preliminary debian packages for jlog at
git://pivot.cs.unb.ca/jlog.git
The upstream source for jlog is at
https://github.com/omniti-labs/jlog
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20111210/4f2ba21f/attachment.pgp>
More information about the notmuch
mailing list