Last week I wrote a plugin to make trac emit fedmsg messages. We installed it first on a few projects to make sure it worked ok, and everything seems fine. If you're watching the #fedora-fedmsg channel on freenode, you may have already noticed some trac.ticket.update messages go by.
It is currently enabled for the following projects:
If you want it enabled for YOUR fedorahosted project, please open an infrastructure ticket and we'll get to it as soon as we can. It's really pretty easy to set up; someone on the infrastructure team just needs to follow this documented Standard Operating Procedure.
Yesterday, Ian Weller and I got the first iteration of "datagrepper" into production. It is a JSON api that lets you query the history of the fedmsg bus. In case you're confused.. it is related to, but not the same thing as "datanommer". You can check out the datagrepper docs on its index page as well as on its reference page.
It is another building block. With it, we can now:
- Use it as a reliability resource for other fedmsg projects.
- Say you have a daemon that listens for fedmsg messages to act on... but it crashes. When it gets restarted it can ask datagrepper "What messages did I miss since this morning at 4:03am?" and catch up on those as it can.
- Build apps that query it to show "the latest so many messages
that meet such and such criteria."
- Imagine an HTML5 mobile app that shows you the latest of anything and everything in Fedora. (pingou is at work on this).
- Imagine package-centric UI widgets that show the latest Fedora-wide events pertaining to a certain package. We could embed them in the Fedora Packages app.
- Imagine user-centric UI widgets that show the latest activity of developers. You could embed yours in your blog or wiki page.
- Statistics! The whole dataset is available to you and updated in real time. Can you tell any cool stories with it?
It is, like I mentioned, an initial release so please be gentle. We have a big list of plans and bugs to crack on. If you run into issues or simply have questions, feel free to file a bug or ping us in #fedora-apps on freenode.
We're tracking fedmsg messages in other places like datanommer, irc, and the identi.ca bot, but having them in collectd is cool because that's the place we go to monitor all our other system stats. All of our stuff in one place (but not all of our eggs in one basket).
You can click here to mess around with it.
For instance, one of the topics on which the koji build system emits messages is org.fedoraproject.prod.buildsys.build.state.change. The docs there show:
- The topic.
- Some description of the event.
- An example message in JSON format. This is what you would see if you ran $ fedmsg-tail --really-pretty.
- Some description of what you would get if you passed the example message into some of the functions in the fedmsg.meta python module. This is the stuff you see in the #fedora-fedmsg irc channel and on the identi.ca bot.
Just in case you didn't know, you can listen to the public fedmsg bus (with no configuration) by running:
$ sudo yum install fedmsg $ fedmsg-tail --really-pretty
If you want to program something that responds to fedmsg messages, check out the docs on consuming messages from python -- the new list of topics should come in handy.
Another crazy idea -- piping ØMQ into gource!
As before, I used gravatar.com to grab
the avatar images, using the
Props to decause for the idea.
Next Page »