Prometheus 内置函数:day_of_year() 用于提取时间戳向量中每个样本日期所在的年中的第几天

day_of_year() 函数是一个向量函数,用于提取时间戳向量中每个样本日期所在的年中的第几天。该函数返回一个向量,其中每个样本的值都是该样本时间戳所在年份的日数(从1月1日开始的天数)。

作用

day_of_year() 函数是一个向量函数,用于提取时间戳向量中每个样本日期所在的年中的第几天。该函数返回一个向量,其中每个样本的值都是该样本时间戳所在年份的日数(从1月1日开始的天数)。

day_of_year() 函数通常用于时间序列分析,特别是当你想要根据一年中的哪一天来聚合、计算或触发警报时。

语法

day_of_year() 函数的语法如下:

day_of_year(v instant-vector)

参数说明:

  • v instant-vector: 是你想要提取年中日数的瞬时向量。

示例

假设你有一个记录每日用户活跃度的指标 prometheus_http_requests_total,你想要知道一年中哪一天的用户活跃度最高。你可以使用 day_of_year() 函数来实现这个需求:

user_activity_count
  group_left(day_of_year) by (day_of_year=day_of_year(timestamp))
  sum()

在这个查询中,我们使用 day_of_year(timestamp) 来提取每个 user_activity_count 样本的时间戳所在年份的日数,并使用 group_left() 函数按照这个日数进行分组。然后,我们对每个分组的活跃度进行求和,从而得到一年中每一天的总活跃度。

示例:

Prometheus 内置函数:day_of_year()

注意:day_of_year() 函数仅适用于具有时间戳的样本,并且返回的是样本时间戳所在年份的日数,而不是当前时间的日数。如果你想要获取当前时间的年中日数,你应该使用 Prometheus 服务器本身的当前时间,而不是样本的时间戳。


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