[BUG] YACE returning last non-null value for S3 replication metric, instead of null/NaN #1626
Open
1 task done
Labels
bug
Something isn't working
Is there an existing issue for this?
YACE version
0.58.0
Config file
Current Behavior
I'm attempting to scrape S3 replication metrics, and have observed some odd behaviour with one of the metrics,
OperationsFailedReplication
.On CloudWatch, this metric presents a data point when there is a replication action (triggered when objects are uploaded to the source bucket, a replication rule is in place, and replication metrics are enabled for the rule), and is null, otherwise. If replication is successful, a zero is produced. If replication fails, a value that equals the number of objects that couldn't be replicated, is produced.
YACE appears to emit a the last non-null value that it encounters. This value only changes at the time of the next replication, when the metric assumes the new non-null value, holding it there until it changes again. This is not desired; we would expect YACE to emit nulls when there isn't a value to report.
On hitting the CloudWatch
get-metric-statistics
API using an equivalent range (start and end times are set to match YACE's current scraping interval, which is 5 minutes, with a delay of 10 minutes, to match YACE's configs shown above), period, and all the other necessary parameters (metric name, dimension names and values, region, etc.), a[]
is returned.Verified that YACE was, in fact, returning the last non-null value by hitting the /metrics endpoint on the container that YACE is running on, and, sure it enough, it returns the last non-null value for the metric.
What could be causing this? How may this be fixed?
Attached are screenshots from the AWS console (UTC) and Grafana (which relies on metrics coming into Prometheus from YACE, UTC-8).
Expected Behavior
Expect YACE to return null/NaN when there is no data point coming in from CloudWatch.
Steps To Reproduce
Anything else?
No response
The text was updated successfully, but these errors were encountered: