 My name is Brian Borum. I work at a company called WeaveWorks. Everything we do is open source. We're in the business of observability and monitoring and stuff like that. My lightning talk is about this thing called Grafana Lib. So what's that all about? Grafana, there's been lots of talks. Most of you have probably seen it. We love Grafana. It's very beautiful. You can put together dashboards. The thing we don't love about it is it's all done by clicking on stuff. We don't like clicking on stuff. We want to check stuff into Git. That's what we want to do. We talk a lot about GitOps. Everything to do with your ops is checked into Git repo, sync it up to the cluster. Everything is a Git commit. Great stuff. Grafana Lib is at that URL. I get to play with lasers. It is a Python library. It effectively implements a domain-specific language for defining dashboards. You give it a dashboard defined as code, and it outputs the JSON file which Grafana will open. That's what it does. Here's an example. Grafana Lib has definitions covering Prometheus and OpenTDSB and Xabix, and please send us PRs for more backends. You can do this kind of thing. You can say I've got a graph, and the graph has a title, and the graph has some prompt QL expressions. Then I want it in milliseconds. There's hundreds and hundreds of constants and a few dozen functions defined. Instead of pointing and clicking to get your dashboard, you just type this stuff into a file and run the generator in your CI, hopefully. That gets a little bit repetitive. Actually, I'm going to show you something that's even more repetitive. We have a higher-level function called a QPS graph, and then we don't need to tell it anything about the axes because queries per second is always per second. We format this in a specific way. We color it in a specific way, and then we just separate out the five different error codes. This is for an HTTP service, and we stick them in an array. Behind the scenes, it will generate all the coloring, all the JSON, everything to make a standard QPS graph. We have hundreds of these in our monitoring dashboards for our own system. Then you can write your own functions. We have a thing called WeaveSculpt, which is a sort of monitoring program. We do entire rows of dashboards with a function. I'll not put the function on the screen, you can sort of imagine how that would go. That's the next great thing, as well as being able to check these things into Git. You can layer higher and higher functionality, and you can generate entire dashboards, if you like, with a single function. That's basically it. I had a question, what about 5.0? That is an excellent question. The simple answer is Grafana 5.0 will read the same JSON, and will do an internal conversion. It will continue to work, and the less simple answer is that we need to update Grafana lib once Grafana 5.0 is out mainstream. Perhaps you'd like to do that, send us a PR. Okay, thank you very much.