day_of_week() 函数是一个向量函数,用于提取时间戳向量中每个样本日期所在的星期几。这个函数返回一个向量,其中每个样本的值表示该样本时间戳所在的星期几,通常是从 0(代表星期日)到 6(代表星期六)的整数。
day_of_week() 函数在需要基于星期几进行时间序列分析时非常有用,例如,你可能想要知道每周哪一天某个指标的值最高,或者想要设置基于星期几的警报。
day_of_week() 函数的语法如下:
day_of_week(v instant-vector)
参数说明:
v instant-vector: 是你想要提取星期几的瞬时向量。
假设你有一个名为 prometheus_http_requests_total 的指标,表示 prometheus 的 http 调用数。我们使用 day_of_week(prometheus_http_requests_total) 来提取每个 prometheus_http_requests_total 样本的时间戳所在的星期几:
day_of_week(prometheus_http_requests_total)
如下图:
注意:day_of_week() 函数返回的是样本时间戳所在的星期几,而不是当前时间的星期几。如果你想要获取当前时间的星期几,你应该使用 Prometheus 服务器本身的当前时间,而不是样本的时间戳。此外,返回的星期几的起始值(0 代表星期日还是,1 代表星期日)可能取决于 Prometheus 的配置或版本,因此在使用时最好查阅相关文档以确认行为。