Ao consultar o Prometheus por
process_cpu_seconds_total{instance="localhost:9090"}
Vejo que o navegador faz uma chamada onde a hora atual é usada no parâmetro de consulta time :
curl 'http://localhost:9090/api/v1/query?query=process_cpu_seconds_total%7Binstance%3D%22localhost%3A9090%22%7D&time=1700078953.325' \
--compressed
E o resultado
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"process_cpu_seconds_total","instance":"localhost:9090","job":"prometheus"},"
value":[1700078953.325,"0.82"]}]}}%
SEMPRE correspondeu ao carimbo de data/hora fornecido como parâmetro de consulta.
Quando eu consulto um vetor de intervalo, o resultado é próximo do que eu esperava, o navegador ainda usa o horário atual como parâmetro de consulta, mas no resultado geralmente esse tempo não está lá, pois a métrica só é extraída a cada 15 segundos.
curl 'http://localhost:9090/api/v1/query?query=process_cpu_seconds_total%7Binstance%3D%22localhost%3A9090%22%7D%5B1m%5D&time=1700078953.325' \
--compressed
{"status":"success","data":{"resultType":"matrix","result":[{"metric":{"__name__":"process_cpu_seconds_total","instance":"localhost:9090","job":"prometheus"},"
values":[[1700078900.426,"0.8"],[1700078915.427,"0.8"],[1700078930.388,"0.82"],[1700078945.388,"0.82"]]}]}}%
Por que o Prometeu sempre finge saber o valor de agora , quando solicitamos uma consulta por um vetor instantâneo?