Что именно делается в Prometheus Metrics (например, гистограмма) - PullRequest
0 голосов
/ 05 августа 2020

Мне сложно понять показатели Prometheus и их значение.

Я написал этот очень простой python файл

from prometheus_client import start_http_server, Histogram
import random
import time


SOME_MEASURE= Histogram('some_measure_seconds', 'Some measure I am trying to graph')

list=[1,2,3,4,5,6,7,8,9,10]


def register_histo(i):
    SOME_MEASURE.observe(i)
    time.sleep(5)


if __name__ == '__main__':
    # Start up the server to expose the metrics.
    start_http_server(8000)
    while True:
        for i in list:
            #print(i)
            register_histo(i)

Как видите, у меня есть список с очень четкие числа, 1,2,3 и т.д. c. и я помещаю их в гистограмму (или, по крайней мере, это то, что я ожидаю)

Затем я запускаю prometheus и запрашиваю

some_measure_seconds_count

и получаю

some_measure_seconds_count{instance="localhost:8000",job="example"}             9

Круто, я полагаю, это 9, да? но затем я снова выполняю и получаю 20 !!

Откуда это 20? Я предположительно использую в качестве показателей 1,2,3 .... 10, а не 20

Итак, в заключение я не знаю, что содержит этот показатель гистограммы c, и я не знаю, как я могу четко видеть мои 1,2,3 .... 10 значений.

1 Ответ

0 голосов
/ 05 августа 2020

Я рекомендую вам на данный момент go сервер Prometheus и просто посмотрите на данные, которые возвращаются, когда вы запрашиваете localhost:8000 после каждого вызова метода observe(). Таким образом, вы лучше поймете, как и почему показатель гистограммы c состоит из нескольких временных рядов.

...