On Thu, Mar 03, 2011 at 10:00:14PM +0800, Daniel Veillard wrote:
On Thu, Mar 03, 2011 at 11:48:51AM +0000, Daniel P. Berrange wrote:
> On Thu, Mar 03, 2011 at 06:26:19PM +0800, Daniel Veillard wrote:
> > Something like killall -USR2 libvirtd allows to see the
> > kind of output one get, an idle libvirtd is quiet, but
> > handle/timer/fdpolls tend to be very verbose, maybe we need
> > an intermediate debug level, but that would also impact the
> > API. Maybe now that this part is well debugged some of those
> > could be suppressed or commented off.
> >
> > Also the buffer is a statically allocated 64KB, maybe this
> > could be made more flexible but IMHO that's not fundamental.
>
> 64 KB is unlikely to be sufficiently large if libvirt is running
> under RHEV with moderate load. With a fairly strict log filter
> of '1:libvirt 1:util 1:qemu' RHEV generates > 300 MB of logs
> in ~10 minutes. This works out at approx 512 KB per second so
> a 64 KB buffer will only capture 125 milliseconds at that log
> filter level, and far far less if collecting full debug logs
yeah, I was afraid of this kind of scenarios, and went for the minimal
approach since the static buffer is already in the current code. Problem
is that I don't think we should really rely on an user provided value,
and getting a dynamic algorithm (keep say at least one second worth of
log) sounds hard to implement right. I was somehow hoping that some of
the background noises could be reduced by further patches. Another
option would be to apply a specific filter (which could be empty by
default) for the debug buffer, and that is rather trivial to implement.
We could make a configurable in libvirtd.conf for buffer size. eg to
set a 1 MB ringbuffer, users could do:
log_ringbuffer = 1048576
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|