floor() 函数是一个标量函数,用于将给定的数值向下取整到最接近的整数。换句话说,它会移除数值的小数部分,只保留整数部分。
floor() 函数在处理需要整数结果的场景时非常有用,比如当你想要计算资源使用量的下限时,或者当你想要将非整数的指标值转换为整数时。
注意:floor() 函数仅适用于标量值,并且它不会改变输入的时间序列数据的结构或标签。如果你对时间序列中的每个样本应用此函数,你需要使用 map() 函数来遍历每个样本并应用 floor() 函数。
floor() 函数的语法如下:
floor(v scalar)
参数说明:
v scalar: 是你想要向下取整的标量值。
举个例子,如果你有一个包含浮点数值的样本,并且你想要将这些值向下取整到最接近的整数,你可以使用 floor() 函数:
# 注意,原本 prometheus_http_requests_total 是一个整数,使用乘以 0.15 转换成浮点数 floor(prometheus_http_requests_total*0.15)
上述查询,将取 prometheus_http_requests_total 时间序列中的每个样本值,将其向下取整到最接近的整数,并返回一个新的时间序列,其中包含这些取整后的值。运行查询,如下图: