My trigger alerted me when it shouldn’t have; issues with “no data” vs 0 values
Last updated: March 25, 2026
Problem Statement: My trigger has fired and alerted me, but when I check the underlying query and data, it doesn’t appear to meet the trigger query’s alert conditions.
Cause: Currently, Honeycomb triggers don’t clearly distinguish between 'no data' and a 0 value, which can occasionally result in false positives when a 'success less than threshold' condition is used.
The use of a HAVING clause in the trigger query (used for composite alert conditions) can introduce more unique conditions, greatly increasing the likelihood of encountering this issue.
You may also notice that this quirk may not be displayed properly in the trigger query visualisation; sometimes the orange markers that denote the trigger firing won’t always be visible when encountering this, and may also cause triggers to still appear in a triggered state when they shouldn’t.
This issue is currently with our product team and is on their radar for prioritisation. In the meantime, the following workaround can be utilised to avoid this.
Workaround: We recommend reversing the alert condition to be "failure greater than the threshold" instead of "success less than a threshold".
For example, say you’ve got a trigger that alerts when the sli.success_rate < 80 with a HAVING clause > 1000. The sli.success_rate in question is a calculated field that looks like so:
IF(EQUALS($team_name, "acme"),100,0))To implement the workaround here, we would first need to invert the success rate to a failure rate:
IF(EQUALS($team_name, "acme"),0,100))Then, change your trigger alert condition to sli.failure_rate > 20 with the HAVING clause > 1000 remaining the same. In this reversed situation, 0 (or instances of no data) will not be >= the target threshold of 20%, avoiding these false alerts.
If you have any issues understanding or implementing this workaround, don’t hesitate to contact the Honeycomb support team.
Related links: