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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号