如何在Bosun模板中格式化数字?

在Bosun模板中,是否可以将来自警报的评估变量的输出格式化为精度更低的小数位数?

简单的例子:

template test_template{
    subject = test
    body = {{.Eval .Alert.Vars.average_runtime}} seconds
}
alert test_alert{
    template test_template
    $average_runtime = avg(q("avg:metric_name", "24h",""))
    crit = $average_runtime > 150.0
}

结果是

190.71165892385326秒

在模板主体中,这是不必要的精确。 理想情况下,我想看看:

190.71秒


在go模板中,您可以使用printf根据所需的任何格式字符串格式化输出。 这段代码适合我:

template test_template{
  subject = test
  body = {{printf "%.3f" (.Eval .Alert.Vars.average_runtime)}} seconds
}

alert test_alert{
  template = test_template
  $average_runtime = 1234.5678999
  crit = 1
}
链接地址: http://www.djcxy.com/p/28147.html

上一篇: How do I format numbers within Bosun templates?

下一篇: AngularJS custom filter unknown provider error