Reading counts instead of pulling every body to add them up is the right default for a bounce rate report. Defaulting types to received and sent when it's omitted makes sense too, so bounces and complaints only show up when someone asks for them. Are the UTC buckets returned for empty hours as zero counts, or skipped?
Thanks. Empty buckets are returned, not skipped. Every UTC hour (or day) from the floored start through the bucket that contains the instant before end is in the series with zero counts, so you can chart it without filling gaps. The end instant is exclusive.
Good, zero filled buckets make the chart code simple. One practical thing is to cap the window size per request so a long range doesn't return thousands of empty hourly rows. Do you switch from hourly to daily buckets automatically when the range gets long?
StackShortlist
Proof Over Promises.
Reading counts instead of pulling every body to add them up is the right default for a bounce rate report. Defaulting types to received and sent when it's omitted makes sense too, so bounces and complaints only show up when someone asks for them. Are the UTC buckets returned for empty hours as zero counts, or skipped?