In the documentation, there's an avg_diff example that includes percentiles:
[alerts.historical_diff]
# Deviation from historical data:
# an alert is triggered if the average of the specified window deviates
# from the average of the previous window
type = "avg_diff"
metrics = [ # metrics to monitor
"memory_total",
]
window_size = 7 # window size in days
max_relative_change = 0.5 # relative change that when exceeded triggers an alert
percentiles = [50, 90] # percentiles to monitor
It's my understanding that such a percentile translates into the parameter of the alerts table. But when I do this locally, my temporary table does have alerts but does not have non-NULL parameter values.
But I'm forced to specify percentiles in my avg_diff alert. Or maybe I can drop the percentiles?
This is all very confusing. The fact that alerts are not based on statistics, but instead directly on the underlying metrics, and that the alerts do subtle calculations without providing intermediate tables to examine (and visualize!) is making this difficult to understand and use.
In the documentation, there's an
avg_diff
example that includespercentiles
:It's my understanding that such a percentile translates into the
parameter
of thealerts
table. But when I do this locally, my temporary table does have alerts but does not have non-NULLparameter
values.Or maybe what is happening is that there is a data-modeling mismatch. My data is a sum of binary events: https://github.com/mozilla/metric-hub/blob/90ffefb18f3dfd9ecdf2f6bb9a9bd68e30f3de4e/opmon/firefox-uninstalls.toml#L62-L73. This
statistic
has a NULLparameter
.But I'm forced to specify
percentiles
in myavg_diff
alert. Or maybe I can drop thepercentiles
?This is all very confusing. The fact that alerts are not based on statistics, but instead directly on the underlying metrics, and that the alerts do subtle calculations without providing intermediate tables to examine (and visualize!) is making this difficult to understand and use.
┆Issue is synchronized with this Jira Task