Fix measurement of cloudwatch_metrics_requested_total #482
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As I read the existing code, it's trying to count the number of GetMetricData API calls made, but AWS is billing for every statistic within that. I'm seeing a discrepancy between what cloudwatch_exporter reports and what AWS bills us by a factor of 2-5x, depending on how I slice it.
Per the AWS documentation, "You can request up to five statistics for the same metric in a single GetMetricData API request. Additional statistics are billed as an additional metric."
So even though we can coalesce multiple statistics into a single API call, they're billed by AWS as if they were in individual API calls, so we should be measuring the full count, not dividing by five, to properly account for what AWS is charging.