[Buildbot-devel] master status

Brian Warner warner-buildbot at lothar.com
Sat Jul 9 08:25:09 UTC 2005


> I've had a rethink and it looks like I can use buildbot.status.client
> and buildbot.clients.base.TextClient to do what I want. Just out of
> interest, when do you use the client stuff for? Is the GTK client no
> longer used, deprecated in favour of the waterfall?

They're different ways to get at the same status data. The remote status
clients (both the GTK one and the simple text one) provide realtime status
updates for people who run one of those clients. The Waterfall page provides
polled status information for people who have a web browser. Not everybody
likes polling. Not everybody is willing to run a special client program.

The PBListener status protocol can be the base for arbitrarily complex/pretty
status clients. I have this vision of a big GUI program that starts with a
single box and a zoom slider: the box is green if everything is happy and red
otherwise. As you zoom in, the box turns into one box per Builder, then two
boxes (current build / most recent build), then the current build expands
into individual steps, then the steps expand into logfiles, etc. Such an
application is probably a long way off, but the realtime status protocol is
intended to support things like it.

I'll add functions to that status API over time, and will probably remove
some things too, but it should be possible to use PBListener to get at
everything that you can retrieve locally (through IStatus and friends). For
local components, IStatus is the preferred API. Things written to it will
suffer bitrot less quickly than things which peek directly inside the Builder
objects.

> There seems to be some interesting stuff in clients for development and
> debugging.

The 'buildbot debugclient' panel gives access to the "debug port", from which
you can reload the config file, inject a fake change, and force a build. (the
other buttons are either ignored or no longer relevant). I'll be updating
this stuff too as the internals change. If it seems stable and useful, I'll
throw in a few docs, but it isn't something I really intend to support
directly.. it's very much a debugging-buildbot-itself kind of tool.

> P.S. Just a small thing, at the bottom of buildbot. "master" is missing
> as an argument in the test:   c = TextClient(master)

I'll take a look.. FYI, the TextClient stuff (and the GTKClient that sits on
top of it) is probably due for a rewrite. I know that it was broken after the
most recent status API change (maybe around the 0.6.4 timescale?) and I only
half-fixed it afterwards (it used to show a count-down ETA timer, and doesn't
now). That code will probably get ripped out and rewritten some day soon.

cheers,
 -Brian




More information about the devel mailing list