Opened 6 years ago

Last modified 4 years ago

#2966 new project-idea

New web plugin idea: a health indicator

Reported by: Ben Owned by:
Priority: major Milestone: 0.9.+
Version: Keywords: web, metrics
Cc: rutsky


I like to extract as much useful indicator from my builds as possible (time, but also amount of warnings, and such ...)

It would be cool to have a web plugin that could print the evolution of my indicators over time ! (Of course, I would have to configure which indicator I want to see plotted, maybe the kind of plot, and so on ...)

Change History (10)

comment:1 Changed 6 years ago by sa2ajj

Could you please elaborate or provide a more specific example?

I think it's related to the metrics support, but without an example I can easily be wrong :)

comment:2 Changed 6 years ago by Ben

I was more aiming at Statistics, but I just realized that

Note that statistics are not preserved after a build is complete.

So metrics is probably where we want to interface with the master.

I used to abuse Properties for that purpose ...

comment:3 Changed 6 years ago by tardyp

Buildbot plugin system is really made for enabling such dashboards.

A web ui plugin is not technically restricted to creating a bunch of js file, it could also create a twisted service.

For me having the JS only use existing data api to query the data will be very inefficient. I think we could easily create a service, like a status service that registers to a bunch of mq events, and create statistics based on that.

I also had in mind that plugins could have some table in the DB they could use to store the data, or maybe use another db configuration with all schema + migration stuff separated.

comment:4 Changed 6 years ago by tardyp

on IRC, sa2ajj talked about

He told us, he actually uses it at work, and has integration working with eigth.

Looking at the documentation, the first reaction is how to integrate this with multimaster, as graphite has its own db called whisper. I haven't look too much deeply, but I think this is still feasible as a external tool. Probably this would be much cheaper than making our own metrics system inside buildbot.

An external graphite server could be setup, and watch for the (TBD) mq server. As there are messages for nearly every kind of activity that happens in buildbot, this is a good mean of making solid analysis of what is going on. Of course, this solution would not be fully integrated, as probably the UI would be external, but anyway, I think this is a possible cheap path.

@sa2ajj do you think it is possible? How would you estimate the cost of integration?

comment:5 Changed 6 years ago by Ben

There are a lot of interfaces, as well as data collectors / forwarders (same page, a bit higher) available for graphite. It looks like some of them are js-only ! Still way to go for a www-plugin !

comment:6 Changed 6 years ago by sa2ajj

  • Keywords metrics added

What I said was that we indeed use graphite, but I did not say we use it with Buildbot.

I have an oldish branch where I tried to publish metrics to graphite. However I stopped working on that when I realised that it's not very straightforward to implement it to support multi-master case.

If there's an interest, I can revive the branch or, at least, publish what I have (after rebasing the latest master) so other could comment in what direction my thinking worked.

comment:7 Changed 6 years ago by sa2ajj

  • Summary changed from New web plugin idea: an health indicator to New web plugin idea: a health indicator

comment:8 Changed 5 years ago by rutsky

  • Cc rutsky added

comment:9 Changed 5 years ago by stibbons

+1 for this feature. I suggest to merge the statistic API with the stats module developed last year by my GSOC student. And add a default backend that store a subset of these stat in the main database that would enable the development of heath/stats visualization modules directly installed by default (using Highchart js lib for example)

Note: See TracTickets for help on using tickets.