使用 NumberSet 操作避免除以零

為了避免使用 numberSet(除了像 avg() 之後得到的那樣)除以零,你可以使邏輯短路:

$five = min(q("sum:rate{counter,,1}:haproxy.frontend.hrsp{}{status_code=5xx}", "1h", ""))
$two = avg(q("sum:rate{counter,,1}:haproxy.frontend.hrsp{}{status_code=2xx}", "1h", ""))

$five && $two / $five

如果以上只是 $two / $five 然後當$ 5 為零時,結果將是+Inf,當在警報表示式中用作警告或暴擊值時將導致錯誤。