Heatmaps are a visualization that shows the statistical distribution of the values in a dataset column over time. Each column of squares in the below graph represents a histogram over
roundtrip_dur, with the color mapping to the number of events where
roundtrip_dur fell into that bucket and is a particularly beautiful example, IMO:
Using them in the UI is easy. They’re just another calculation available in the dropdown:
Heatmaps look best when you have a lot of events to visualize, and where the spread of values is wide enough to see some differentiation, but not complete noise. Basically any column you might run a percentile or average calculation on could likely benefit from being rendered as a heatmap. Say, anything representing a duration or size.
The rollover for heatmaps is different than for the normal line and stacked graphs:
“This time bucket” shows you what the histogram is for the column under the time bar. You can see those outliers represented as small bumps on the right hand side of the histogram (from about 0.8k and 1.0k.)
“Entire time range” shows you the merged histogram for all data within the time range displayed in the graph. Note the difference in y-axes, and the smoother shape for “Entire time range.”
Breaking down with Heatmaps
One of the most powerful features of Honeycomb is the ability to break down a calculation into groups based on values in columns. Heatmaps work well with this. Take the query below, where we’ve broken down by endpoint. By default the heatmap of all endpoints is shown (approximating what you’d see if you did the query without the breakdown.)
Note that the rollover displays independent histograms for each group. This makes it especially easy to see the reason for the bimodal distribution:
/account accounts for the lower of the two peaks, and
/dashboard for the upper.
Just as we highlight the corresponding line in line graphs as you mouse over the summary table, we also show the heatmap corresponding to that group:
You can clearly see the difference between
/dashboard peaks by mousing over their lines - they’re almost completely disjoint. If you watch closely, you can also see the outliers (from about 10:30 to 10:50) appear only when hovering over the line for
How to make your own
Check out the documentation for heatmaps and try it for yourself!
We’ll be back with more examples, including how Honeycomb uses heatmaps soon. In the meantime, let us know how you’re using heatmaps at firstname.lastname@example.org or @honeycombio–we’d love to know!
*Yes, we know what we did there. And we’re not sorry.