timestamp() 函数用于获取样本的时间戳。它返回的是样本数据点的时间戳,而不是查询执行的时间戳。timestamp() 函数通常用于提取时间序列中每个样本的原始时间戳信息。
当你对一个向量使用 timestamp() 函数时,它将返回一个瞬时向量,其中包含原始时间序列中每个样本的时间戳。这些时间戳是自Unix纪元(1970年1月1日 00:00:00 UTC)以来的秒数。
注意:timestamp() 函数返回的是样本数据点的时间戳,而不是查询执行时的当前时间。这意味着如果你查询一个历史数据点,timestamp() 将返回该数据点实际发生的时间戳,而不是你查询时的时间戳。
此外,timestamp() 函数返回的时间戳通常是 UTC 时间,与 Prometheus 实例所在的时区无关。这意味着不同时区的 Prometheus 实例对于同一个时间序列样本将返回相同的时间戳。
timestamp() 函数的语法如下:
timestamp(<vector>)
参数说明:
<vector> 是你想要获取时间戳的向量表达式。
假设你有一个名为 prometheus_http_requests_total 的时间序列,并且你想要提取每个请求的时间戳,执行如下查询:
timestamp(prometheus_http_requests_total)
上述查询将返回一个瞬时向量,其中每个样本都包含 prometheus_http_requests_total 中对应请求的时间戳。运行查询,如下图: