log10() 函数用于计算时间序列中每个样本值的以 10 为底的对数(常用对数),这个函数在需要将对数转换到以 10 为基础的尺度时非常有用,特别是在处理指标单位或科学计数法等场景中。
log10() 函数会返回一个与输入时间序列具有相同时间戳和标签的新时间序列,但每个样本的值被替换为其以 10 为底的对数。如果原始样本值小于或等于 0,log10() 函数将返回 NaN(不是一个数字),因为以 10 为底的对数在这些点上未定义。
log10() 函数的基本语法如下:
log10(<vector expr>)
参数说明:
<vector expr>是一个向量表达式,通常是一个时间序列选择器,指定了你想要计算以10为底对数的样本值。
假设你有一个名为 prometheus_http_requests_total 的时间序列,记录 HTTP 请求总数。使用 log10() 函数:
log10(prometheus_http_requests_total)
上述查询将返回一个新的时间序列,其中包含了 prometheus_http_requests_total 中每个样本值的以 10 为底的对数。如下图:
注意:和 ln() 及 log2() 函数一样,使用 log10() 函数之前,你需要确保你的时间序列不包含小于或等于 0 的值,否则结果将是 NaN。如果需要,你可以使用 clamp_min() 函数来避免这种情况。