Community Spotlight: BigQuery Plugin

Published: 25 Jun 2019 by Julie Dam RSS

The Grafana community comes up with some pretty cool stuff, and we’re hoping to spotlight some of it from time to time. Today, we’re starting with the BigQuery datasource plugin developed by the team at DoiT International.

DoiT is a reseller of Google Cloud and AWS that helps companies either move from on premise to cloud or move from one cloud provider to another. “We mostly do architecture review for companies and help them solve problems,” says Aviv Laufer, a Principal Reliability Engineer at DoiT. “When there is a problem that’s common to a few customers, I try to solve it in a general manner and provide it as an open source solution.”

And that’s what led to the plugin for BigQuery, which many of DoiT’s customers use. “We’re pretty involved in the Grafana community, and we saw that one of the most voted features of Grafana was the connector to BigQuery database,” he says. “BigQuery comes with the data visualization by Google, which is not as good as Grafana, at least in my experience. Some of our customers were using Google Sheets in order to do graphs in BigQuery! And a lot of our customers were already using Grafana for other purposes. I like the fact that they can use one visualization tool across multiple sources.”

So Laufer decided to tackle the issue, and after about six weeks of work off and on, the plugin was released. It was the first time he had coded in TypeScript, and the first time he had built a plugin for Grafana. He says there’s “room for improvement” in the Grafana documentation about how to write plugins, so he set out to “reverse engineer some of the other plugins and go through the Grafana code, figure out what I can do, and how I can do it. At the end of the day, it worked.”

Dashboard visualizing Google Cloud Billing data from BigQuery

Since the plugin’s release, “more than a handful” of DoiT’s customers – including some large companies in Israel – are using it, and many other people around the world are downloading it, opening issues on GitHub, and asking for features. (One common request: alerts.)

“We are looking for more suggestions, more functionality,” Laufer says. “We want to hear feedback from the community. We are looking to make this a better product.”

And it might not be the last Grafana plugin you’ll see from the DoiT team. “If there’s something that will benefit our customers and the community, we probably will do it,” he says. “We first look for the problem and then find out whether or not we can provide a solution. There are lots of other solutions that we have, and all of them are open source.”