Prometheus 内置函数:log10() 用于计算时间序列中每个样本值的以 10 为底的对数

log10() 函数用于计算时间序列中每个样本值的以 10 为底的对数(常用对数),这个函数在需要将对数转换到以10 为基础的尺度时非常有用,特别是在处理指标单位或科学计数法等场景中。

作用

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 为底的对数。如下图:

Prometheus 内置函数:log10() 用于计算时间序列中每个样本值的以 10 为底的对数

注意:和 ln() 及 log2() 函数一样,使用 log10() 函数之前,你需要确保你的时间序列不包含小于或等于 0 的值,否则结果将是 NaN。如果需要,你可以使用 clamp_min() 函数来避免这种情况。

学习知识要善于思考,思考,再思。我就是靠这个方法成为科学家的。 —— 爱因斯坦
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号