Google Cloud Data Vizualization

I worked on a component spec for Google cloud monitoring. Charts and graphs help abstract, distill and hilight area of interest so that people can make intelligent decisions.

Take the chart to the left: It's hard to read too many items in this line graph. However, each item in the legend is a member of a table. You can resort by clicking on the column headers and then turn each line item on or off according to your chosen metric. This allows for a much more interactive way of delving into the seemingly complicated.

Tool tips also have a dedicated space to avoid covering the data you're trying to read and the events have their own lane in the graph's timeline. Numbers are aligned on the right-hand side because today's date is presumably more important than an arbitrary date in the past.

Data visualization

Logs to metrics: If you do find an anomalous metric in one of your resources. it might be useful to look at the logs to get a more detailed transcript of related events.

Scatterplot as time series: Although not as immediately legible to people who normally look at line graphs in time series, scatterplots are not a problematic to read because they are not dependent on the line connections to tell a story (that may be erroneous). If a dot is present the data exists. If the data is not there, a dot won't be present.

Stacked bar: An extremely effective way to show totals in a specified time frame (days, minutes, seconds).

Events: I developed this idea as an extension of how music is showed in piano roll notation. On a multi-line each event can show its start, end and duration. On one line each color can represent the appropriate even type. Events that overlap do so at a reduced opacity to show the density.

Events: Statuses can be shown as "right now" and as an historical comparision. For exmple, all services show as working now, however App Engine and Cloud SQL have had various degrees of outage over the past week.

Events: When designing a chart type for different applications it requires sensitivity to how that data will be viewed in context. Here is an examples of an evvent graph embedded in the "VPN" area of Cloud.

Sankey diagrams for load balancing: This type of graph is useful to show flow between hierarchical items of a similar nature in a congested space.

Hilighting anomolies and areas of interest: The best way to highlight something is to de-emphasize things you won't want to hilight.

Showing missing data: You can't just connect a line to the next point when there's missing data. It doesn't tell the trust and connecting the line negates the data that could have been. Perhaps the value was significantly higher or lower than the average between the two non-missing values? It's also different than a zero value or a null value. Since the value cannot be ascertained a reasonable solution is to show a dotted line that signifies that something is missing.

Showing clusters: Sometimes it's better to know how many things aren't working than it is to know what is specifically not working. This diagram can show quite a bit of information about a Cassandra Ring. You can, of course, drill down into the information if there's an interesting pattern.

Colin Owens