Yes I will try. Each of the AWS services has different levels of time granularity for metrics. Such as SNS only supports 5 minutes worth of metrics at a time. EC2 has 5 minute granularity by default with 1 minute granularity if detailed monitoring is turned on. This corresponds to the period in each collector.

The offset solves a second problem in that CloudWatch doesn't always have metrics available immediately. There is a built in delay on AWS' side which seems to be a bit random. So instead of asking for 5 minutes worth of metrics from 5 minutes ago, you may have to ask for the metrics from 10 minutes ago since those have likely propagated to CloudWatch. 

By default, we have varying time_offsets depending on the service. SNS and SQS grab 5 minutes worth of data from 10 minutes ago, while EC2 grabs a varying offset based on the detailed attribute. The cloudwatch_delay is an additional configurable attribute where customers can adjust the delay further.