round() 函数与 ceil() 和 floor() 函数类似,返回向量中所有样本值的最接近的整数。
round() 函数接受一个向量作为输入,并返回一个新的向量,其中每个元素都被舍入到最接近的整数。
注意:round() 函数仅对样本值进行舍入到最接近的整数,并不改变时间序列的时间戳或其他元数据。此外,round() 函数返回的是一个瞬时向量,即它只包含查询执行时刻的样本值,不包含范围向量或时间序列的其他时间点的数据。
round() 函数的基本语法是:
round(v instant-vector, to_nearest=1 scalar)
参数说明:
<vector> 是要进行四舍五入的向量表达式。
<to_nearest> 参数是可选的,默认为 1,表示样本返回的是最接近 1 的整数倍的值。你也可以将该参数指定为任意值(也可以是小数),表示样本返回的是最接近它的整数倍的值。
如果你有一个名为 go_memstats_last_gc_time_seconds 的时间序列指标,该指标存储了上次垃圾回收时间距 1970 年的秒数,并且你想要将延迟值四舍五入到两位小数,你可以使用以下查询:
round(go_memstats_last_gc_time_seconds, 2)
上述查询将返回一个新的向量,其中 go_memstats_last_gc_time_seconds 的每个样本值都被四舍五入到了两位小数。运行查询,如下图:
如果我们将 round() 函数的 to_nearest 设置为小数,如下图: