Picolé

Picolé is a monitor to the distributed compilation server Icecream. However, instead of requiring Qt like the included icemon utility, Picolé offers a similar interface inside a web browser. Some tricks are possible with this, such as obtaining the number of maximum jobs on a given network (see below).

Picolé is written in Python and C++: the server part requires web.py, and it communicates with the Icecream scheduler using the same client code provided by the Icecream project. Thus, Picolé is free software, licensed under the same terms.

Screenshots

No project page is complete without screenshots. Here's a couple of them:

Host list as a table... ...and as a constellation

Download

Tricks

One of the advantages of using Picolé instead of icemon is the ability to know how many jobs you can compile simultaneously on a network.

A trick commonly employed in ProFUSION is to use this function instead of the standard make. Just set $PICOLESERVER to the address of the Picolé instance and the function will do the magic:

function icemake {
    proc=`uname -m | grep -q 'i[3-6]86' || echo 64`
    njobs=`wget -O- -q http://$PICOLESERVER/query/maxjobs$proc || echo 3`;
    nice -15 make $@ -j$njobs
}

FAQ

Q: Why do I have to compile some stuff? Why not only Python?

A: I'm lazy. Besides, Picolé was written on my spare time at ProFUSION, and I'm usually pretty busy with work stuff to rewrite something like that is already working. But hey, I like patches.

Q: It doesn't work!

A: If you're using Picolé in the first place, then you're a developer. Try fixing it up yourself (and send me patches, I'll gladly accept them if they're correct), but if you can't, send me an email anyway so I can fix it.

Q: What's with the stupid name?

A: Picolé is popsicle in brazilian portuguese. I had to choose a name and I happen to like picolés, so there you have it.

Leandro A. F. Pereira <leandro@profusion.mobi>